- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4讲:数据传送、算术运算指令
第四讲 数据传送、算术运算指令 (二)累加器专用传送指令 1.I/O指令 1)输入指令: IN AL,口地址;口地址8位(00H ~ FFH). IN AL,DX; 当口地址大于8位,先送DX中. 例:IN AL,50H MOV DX,0300H IN AL,DX 2) 输出指令 指令格式: OUT 口地址,AL OUT DX ,AL 例: OUT 10H, AL MOV DX, 330H OUT DX ,AL 注:8088只有8位(AL);而8086可以有16位(AX) 例:对8086CPU IN AX ,50H; (50H) AL; (51H) AH 2.查表转换指令 格式:XLAT 表首地址 功能:执行前BX=表首地址;AL=表偏移量. 执行后AL=表的内容. 例:从5号端口输入1位10进制数,变成格雷码 从10号端口输出. MOV BX,OFFSET TABLE IN AL, 5 …… XLAT TABLE OUT 10, AL (三 )地址传送指令 1.取EA地址 格式: LEA R , SRC 功能:将源操作数SRC的M有效地址EA送 到R中. 注:R为通用REG;SRC不能是立即数和REG,只能来自M。 R代表AX、BX、CX、DX、SI、DI、SP、BP 例:LEA BX,TABLE LEA AX,[2000H] 注意同MOV的不同 2.取物理地址送DS段 格式:LDS R , SRC 功能:从SRC的EA地址连续取4个单元的 目标指针。 [EA+1][EA] R [EA+3][EA+2] DS 例:LDS DI,[2130H];EA=2130H (2131)(2130) DI;(2133)(2132) DS 例:LDS SI,DWORD PTR CS:[BX]; EA=BX 3.取物理地址送ES段 格式: LES R , SRC 功能同LDS类似,只是送ES段. (四) 标志传送指令 1.FL送AH 格式: LAHF 2.AH送FL 格式: SAHF AH FH FL 3.F入栈 格式: PUSHF 功能: SP-2 SP; F (SP) 4.F出栈 格式: POPF 功能: (SP) F; SP+2 SP 传送指令小结 除SAHF和POPF以外,都不影响F。 高内存地址对应高字节数据。 非法指令。 二、算术运算指令 加、减、乘、除四类,皆影响F。 (一)加法指令 影响F的S、O、P、Z、A、C位 1.不带进位 格式:ADD OPRD1,OPRD2;B/W 功能: OPRD1+OPRD2 OPRD1 例: ADD AL,50H ADD [SI+BP],AX 注:OPRD1,OPRD2不为控制和段REG;不同为M操作数 ;OPRD1不为立即数。 2.带进位 格式:ADC OPRD1, OPRD2;B/W 功能:OPRD1+OPRD2+CF OPRD1 作用:多字节无符号数加法 例:两个字加法(4字节) DS:2000H 23 23 3000H 00 2001H 84 03 3001H 7F 2002H 00 01 3002H 00 2003H 10 30 3003H 20 程序如下: MOV SI,2000H MOV AX,[SI] MOV DI,3000H ADD AX,[DI] MOV [SI],AX MOV AX,[SI+2] ADC AX,[DI+2] MOV [SI+2],AX 3.增量指令 格式:INC OPRD ;B/W,不影响CF位 功能:OPRD+1 OPRD 注:OPRD不能是立即数和CS,IP。 例: INC AL;(al为FFH,C如何) INC CX INC BYTE PTR [SI] ?何时用“PTR” 当不能确定M操作数的长度时,需要说明。 (二)减法指令 影响F的S、O、P、Z、A、C位 1.不带进位 格式:SUB OPRD1,OP
文档评论(0)