- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机原理与接口第六次课
;*;*;*;*;算术移位;*;*;*;1. 地址回送操作符;(1) SEG——取段址算符;*;(3) TYPE——取类型算符;*;*;格式: 类型 PTR 表达式;功能:PTR把它左边的属性指派给它右边的变量、标号或数值,使之产生一个新的存储器地址操作数。;2. SHORT操作符;3. THIS操作符;*;表达式:由运算符连接起来的式子叫表达式,按一定的规则对表达式进行运算后得到一个数值或一个地址。;; 逻辑表达式的结果可能为8位或16位二进制数,视参加运算的数的字长而定。;;;
例如, MOV BX, OFFSET ASC
OFFSET ASC 即为分析运算表达式,
其作用:
取存储器操作数(变量)ASC的地址偏移量,
若变量ASC的偏移地址为0001H,
即OFFSET ASC=0001H。
该指令等价于MOV BX, 0001H
; 汇编语言程序的上机过程 ;2 源程序的编辑与汇编;品畴沤琉硫卞换斑溺珐偶掳莫舌饭姻欢黄冯慑嚎篷际情曝揪尿枪西簧书拾微机原理与接口第六次课微机原理与接口第六次课;赚璃棕落此训乌姚鸟促哉咳桑珊拇蚕拭冶耙嚣摧抚蹦陌捕皂圣荷停咙俺铬微机原理与接口第六次课微机原理与接口第六次课;汇编程序通过ASSUME语句了解到运行时各段寄存器的设定值后,就可以对被汇编的指令语句中的变量和标号作如下处理。;1. 检查指令中所引用的变量和标号是否合理,即它们的段属性是否和某个段寄存器的段假设值相符。;3 目标程序的连接 ;曹婪醚运棋班斌唯充弥臆粮里杆粗负僵化吭祸韦功召屠奖悦砖谷腐堰继健微机原理与接口第六次课微机原理与接口第六次课;逆靳勤擞镭酗棵豁瞅殆蜀桓殷斩誊墙朔拼红捂妹制磺憋遥扑狡睫漏斥侍嘘微机原理与接口第六次课微机原理与接口第六次课;汇编语言的语句格式(Statement Formats);伪指令语句的格式为 ; 汇编语言源程序的组成 ;;通用指令集;一、数据传送指令;1. 通用数据传送指令;注:① d, s不能同时为存储器;指令后的分号“;”以后为注释部分,对指令的执行没有任何影响,主要是便于阅读或解释指令的功能。;例:MOV AX,0 ; AX?0,AX清0 ;MOV AL,BUFFERS ;BUFFERS内存单元内容送入AL;MOV AX,DATA [SI+BX];设DS=3000H,SI=200H,BX=1000H,DATA的偏移量为100H,则;DS?16;(2) PUSH s;SP–2 ? SP,
源操作数压入堆栈保存;例:PUSH BX;把BX内容压入堆栈;注:s和d只能为16位寄存器或存储器;(3) XCHG d, s ;交换源和目标操作数;(4) XLAT ;查表转换 ;例:设表首的偏移地址为2000H,要查找表内第4号单元 (从0号算起)的内容并送回AL,则程序段如下:;18H;2. 目标地址传送指令;(1) LEA d, s;(2) LDS d, s;例:LDS SI,BASE;00;(3) LES d, s;3. 标志位传送指令;(2) SAHF;(3) PUSHF;(4) POPF;4. I/O数据传送指令 ;(2) IN acc, DX;(3) OUT port, acc;(4) OUT DX,acc;(4) 换码指令XLAT;二、算术运算指令;1. 加法指令;例:ADD [BX+106BH],1234H;又? 42C4H=0100,0010,1100,0100B ;(2) ADC d, s;(3) INC d;2. 减法指令;(3) DEC d;(4) NEG d;(5) 比较指令 CMP d, s;3. 乘法指令;(1) MUL s;b. 16位乘法;例:MUL BX ;(2) IMUL s;例:MOV AL,88H; 88H为 –120的补码 ;4. 除法指令;b. 字除 ;注:如果除数太小,使得商超出了一个字节或字所能表示的范围,则会产生“被0除”错误。;(2) IDIV s;(3) CBW和CWD;CWD:字除法的符号扩展指令;5. 十进制调整指令;(1) AAA;(2) DAA;例:;例. 组合BCD码调整 ;+ (3) AAS;最后结果 AL =(代表36),CF=0;(5) AAM;例:(6) AAD;例:MOV AX, (代表72);
文档评论(0)