shuiyu 发表于 2017-6-25 22:55:24

《零基础入门学习汇编语言》第十三讲

本帖最后由 shuiyu 于 2017-6-25 23:01 编辑

小白刚学,不对的请各位大佬指正,谢谢{:10_254:}

一、内存中字的存储
(1)字节型数据:就是指的那一格的地址的数据。字型数据:就是指的那一格N的地址的数据为低地址,N+1那一格为高地址,加起来为:高地址低地址
(2)任何两个地址连续的内存单元,N号单元和 N+1号单元,可以将它们看成两个内存单元 ,也可以看成一个地址为N的字单元中的高位字节单元和低位字节单元。

二、DS和
(1)8086CPU中有一个 DS寄存器,通常用来存放要访问的数据的段地址。【address】就是偏移地址。
(2)mov指令可完成功能:
1.将数据直接送入寄存器;
2.将一个寄存器中的内容送入另一个寄存器中。
3.将一个内存单元中的内容送入一个寄存器。
(3)8086CPU不支持将数据直接送入段寄存器的操作(硬件设计的问题),ds是一个段寄存器。
mov ds,1000H 是非法的。所以应该是数据--->通用寄存器--->段寄存器
(4)怎样将数据从寄存器送入内存单元。
mov bx,1000H
mov ds,bx
mov ,al

三、字的传送
问题:3.3
(1)首先赋值给10000H:使用 E 1000:0 赋值,后面的赋值一样,都用E命令。(可以使用 D 1000:0 查看修改后的情况)
(2)写入题目汇编指令:使用A 2000:0,使用U 2000:0 可以查看修改后的情况(我是写在了20000这个地方,这个地址随便,反正不冲突到10000H这里就好了).
(3)修改CS和IP,使其指向 2000:0 ,使用R命令。
(4)使用T命令执行一条一条的执行我们的汇编指令,直到执行完毕。
最后我得的答案是:AX=1123,BX=8833,CX=8833

问题:3.4
(1)首先赋值给10000H:使用 E 1000:0 赋值,后面的赋值一样,都用E命令。(可以使用 D 1000:0 查看修改后的情况)
(2)写入题目汇编指令:使用A 3000:0 使用U 3000:0 可以查看修改后的情况(这里的第三条指令里有一个十进制数,要换成十六进制)
(3)修改CS和IP,使其指向 3000:0 ,使用R命令。
(4)使用T命令执行一条一条的执行我们的汇编指令,直到执行完毕。
最后我得的答案是:AX=2C34,BX=1B12,CX=8833

我不知道我写对了没有,下一讲小甲鱼才会讲到{:10_250:} 上面的题目是我的理解。



谢谢小甲鱼带来的视频教程,感谢!! {:10_303:}


   
本节结束,多谢览阅!
小白刚学,不对的请各位大佬指正,谢谢{:10_254:}
页: [1]
查看完整版本: 《零基础入门学习汇编语言》第十三讲