请问图片上的第三题,汇编语言题怎样做?答案是多少 20
1个回答
展开全部
做一道示范一下,如果用win10,自己找个doxbox装个debug算一下结果,计算机专业的不会汇编难道还想混日子么^-^
lea bx, 50[bx][si]
这个lea是取偏移地址,那就加呗。50+bx+si=50+1200+20=1270,所以bx=1270
mov ax, 10[bx]
还是一样,先把偏移算出来,即10+bx=1280,已知段地址ds = 1300,所以左移一位再加上偏移,即13000+1280=14280。看下已知里的14280地址,装的是A426,所以ax里的值是A426
其实8086汇编真的很简单,如果不是考试,那一大堆的寻址方式根本不用记。如mov ax, 8或mov ax, bx,这两个最简单不用说了,又如mov ax, [bx],就是取bx这个指针所指向的值,而lea ax, [bx],则是取bx这个指针的值,是不是很简单。到了宏汇编里,就多了几个宏指令,翻译过来还不是得用这些指令?关键是多用,特别是有意识的在调试高级语言时反编译成汇编指令看一下,刚开始难,看上几个月就习惯了
lea bx, 50[bx][si]
这个lea是取偏移地址,那就加呗。50+bx+si=50+1200+20=1270,所以bx=1270
mov ax, 10[bx]
还是一样,先把偏移算出来,即10+bx=1280,已知段地址ds = 1300,所以左移一位再加上偏移,即13000+1280=14280。看下已知里的14280地址,装的是A426,所以ax里的值是A426
其实8086汇编真的很简单,如果不是考试,那一大堆的寻址方式根本不用记。如mov ax, 8或mov ax, bx,这两个最简单不用说了,又如mov ax, [bx],就是取bx这个指针所指向的值,而lea ax, [bx],则是取bx这个指针的值,是不是很简单。到了宏汇编里,就多了几个宏指令,翻译过来还不是得用这些指令?关键是多用,特别是有意识的在调试高级语言时反编译成汇编指令看一下,刚开始难,看上几个月就习惯了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询