- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 8086微处理器与汇编语言 指令系统
第2章 8086微处理器与汇编语言;学习目标;教学内容;数据传送类指令;指令系统;把一个字节或字的操作数从源地址传送至目的地址。;mov cl,4 ;cl←4,字节传送
mov dx,0ffh ;dx←00ffh,字传送
mov si,200h ;si←0200h,字传送
mov bvar,0ah ;字节传送
假设bvar是一个字节变量,定义如下:bvar db 0
mov wvar,0bh ;字传送
假设wvar是一个字变量,定义如下:wvar dw 0;mov ah,al ;ah←al,字节传送
mov bvar,ch ;bvar←ch ,字节传送
mov ax,bx ;ax←bx,字传送
mov ds,ax ;ds←ax,字传送
mov [bx],al ;[bx]←al,字节传送;mov al,[bx] ;al←ds:[bx]
mov dx,[bp] ;dx←ss:[bp+0]
mov dx,[bp+4] ;dx←ss:[bp+4]
mov es,[si] ;es←ds:[si];mov [si],ds
mov ax,ds ;ax←ds
mov es,ax ;es←ax←ds;MOV指令也并非任意传送!;在绝大多数双操作数指令中,目的操作数和源操作数必须具有一致的数据类型,或者同为字量,或者同为字节量,否则为非法指令。
MOV AL, 050AH ;非法指令,修正:
;mov ax,050ah
MOV SI, DL ;非法指令,修正:
;mov dh,0
;mov si,dx;当无法通过任一个操作数确定是操作类型时,需要利用汇编语言的操作符显式指明。
MOV [BX+SI], 255 ;非法指令,修正:
;mov byte ptr [bx+si], 255
;byte ptr 说明是字节操作
;mov word ptr [bx+si], 255
;word ptr 说明是字操作;8088指令系统除串操作指令外,不允许两个操作数都是存储单元(存储器操作数)。
MOV buf2, buf1 ;非法指令,修正:
;假设buf2和buf1是两个字变量
;mov ax,buf1
;mov buf2,ax
;假设buf2和buf1是两个字节变量
;mov al,buf1
;mov buf2,al;8088指令系统中,能直接对段寄存器操作的指令只有MOV等个别传送指令,并且不灵活。
MOV DS, ES ;非法指令,修正:
;mov ax,es
;mov ds,ax
MOV DS, 100H ;非法指令,修正:
;mov ax,100h
;mov ds,ax
MOV CS, [SI] ;非法指令,修正:
;CS不能作为目的操作数;交换指令XCHG;mov ax,1199h ;ax=1199h
xchg ah,al ;ax=9911h
;等同于 xchg al,ah
mov wvar,5566h ;wvar是一个字量变量
xchg ax,wvar ;ax=5566h,wvar=9911h
;等同于 xchg wvar,ax
xchg al,byte ptr wvar+1
;ax=5599h,wvar=6611h
;“byte ptr wvar+1”强制为字节量,只取高字节与
AL类型交换,否则数据类型不匹配;换码指令XLAT(translate);堆栈操作指令;标志传送指令;标志寄存器出入堆栈指令
标志进栈
标志出栈;地址传送指令;指针传送指令
LDS指令
将主存中mem指定的字送至r16,并将mem的下一字送DS寄存器。
LES指令
将主存中mem指定的字送至r16,并将mem的下一字送ES寄存器。
;算术运算类指令;加法类指令;带进位加法指令ADC
将源与目的操作数相加,再加上进位CF标志,结果送到目的操作数。;例:用汇编语言实现多字节加法。
计算:0234 4652H+F0F0 F0F0H=? ;增量指令INC
对操作数加1(增量);减法指令SUB
SUB指令将目的操作数减去源操作数,结果送到目的操作数。;带借位减法指令SBB
SBB指令将目的操作数减去源操作数,再减去借位CF(进位),结果送到目的操作数。;取负指令;比较指令;常利用其对标志位的影响,后接跳转指令完成分支结构。;乘法类指令;带符号数乘法
字节乘法;乘法指令如下影响OF和CF标志:
MUL指令:若乘积的高一半(AH或DX)为0,则OF=CF=0;否则OF=CF=1。
IMUL指令:若乘积的高一半是低一半的符号扩展,则OF=CF=0;否则均为1。
乘法指令对其他状态标志未定义。;例题: 无符号乘法MUL;例题: 有符号乘法 IMUL;除法类指令;有符号数除法
字节除法;除
您可能关注的文档
最近下载
- 家居装饰行业大数据精准营销策略分析报告.docx
- SH217_03ERP项目_MM物资组关键方案介绍_收货_v1.1-.pptx VIP
- 格物入门. 第1-7卷 丁韪良 著 同治7年 北京 同文馆1.pdf VIP
- 电磁场的对称性分析.pdf VIP
- 传感器基础教科书原理和特点讲解.pdf VIP
- TCBDA51-2021 住宅装饰装修工程施工技术规程.pdf VIP
- 最新人教版九年级数学下册 全册教学课件全集(858张).ppt VIP
- TCBDA 55-2021 住宅室内装饰装修工程质量验收标准.docx VIP
- SH217_03ERP-2_详细业务蓝图及解决方案_3.1-神朔修改后.docx VIP
- 2025年重庆市中考数学试卷(含标准答案)原卷.pdf
文档评论(0)