- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
子程序调用与返回指令 绝对调用指令 acall addr11;(PC) ?(PC)+2 ,(SP) ?(SP)+1 ((SP)) ? (PC0~7) ,(SP) ?(SP)+1,((SP)) ? (PC8~15) ,(PC0~10) ? addr11 ,(PC11~15) 不变 lcall addr16 返回指令 ret; (PC8~15)?((SP)),(SP) ?(SP)-1 (PC0~7)?((SP)),(SP) ?(SP)-1 举例: 子程序调用与返回指令举例 ORG 0000H Start: mov A,#0 acall Sub1 mov A,#0 lcall Sub2 sjmp $ Sub1:inc A ret Sub2:dec A ret END [例3-15] 设20H~21H单元存放一个16位二进制数X1(高8位存于21H单元),30H~31H单元存放另一个16位二进制数X2(高8位存于31H单元)。求X1+X2 ,和存于20H~21H设两数之和不超过16位。 解: ORG 2000H MOV R0 ,#20H MOV R1 ,#30H MOV A ,@R0 ;取被加数低8位 ADD A ,@R1 ;求和的低8位 MOV @R0 ,A ;存和的低8位 INC R0 ; 指向被加数高8位 INC R1 ; 指向加数高8位 MOV A ,@R0 ;取被加数高8位 ADDC A ,@R1 ;求和的高8位 MOV @R0 ,A ;存和的高8位 SJMP $ ; 停机 END 运算结果 高8位存于21H单元, 低8位存于20H单元。 (21H) (20H) + (31H) (30H) Cy(21H) (20H) ADDC ADD [例3-16] 试分析执行以下程序后,各有关单元的结果。 MOV R1 ,#7FH MOV 7EH ,#00H MOV 7FH ,#40H DEC @R1 DEC R1 DEC @R1 执行结果:(R1)=7EH (7EH)=0FFH (7FH)=3FH [例3-20] 利用DA指令作十进制加法调整。两个用单字节压缩BCD码表示的十进制数相加,借位标志存入C累加器。设20H、21H、22H分别存放被加数、加数以及和。 解:ORG 2000H MOV A, 20H ; (A) ← 取被加数 ADD A ,21H ; (A) ← 被加数+加数 DA A ; 进行调整 L1: MOV 22H , A ;存结果 SJMP $ ; 停机 END 机器语言中:rel 是[-128,+127]内的补码 汇编语言中: rel的书写形式 1、jc loop ;loop使目标地址 2、jc $-5 ; $-5 也代表目标地址 3、 jc -5 ;是相对偏移量 4、jc +5 ; 5、 jc 85H ; 人有了知识,就会具备各种分析能力, 明辨是非的能力。 所以我们要勤恳读书,广泛阅读, 古人说“书中自有黄金屋。 ”通过阅读科技书籍,我们能丰富知识, 培养逻辑思维能力; 通过阅读文学作品,我们能提高文学鉴赏水平, 培养文学情趣; 通过阅读报刊,我们能增长见识,扩大自己的知识面。 有许多书籍还能培养我们的道德情操, 给我们巨大的精神力量, 鼓舞我们前进。 * 乘/除指令 无符号数乘法指令 mul AB ; (A)?(B)? (B)(A) 若 (B) ? 0 则 OV=1 ,否则 OV=0 ; Cy? 0 无符号数除法指令 div AB ; (A)/(B)=(A),余数(B) Cy? 0;若 (B) = 0 则 OV=1 逻辑运算类指令 单字节逻辑操作数运算指令 双字节逻辑操作数运算指令 单字节逻辑操作数运算指令 累加器A清“零”指令 累加器A取反指令 累加器A循环左移指令 累加
文档评论(0)