|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 阿西吧 于 2017-7-5 16:02 编辑
第二十三课-第二十八课([BX]和loop指令)
段地址存放在ds中,偏移地址存放在[bx]中来访问内存单元
段地址:EA 偏移地址:SA
编译器MASM只能通过mov ax,[bx] 而不能通过mov ax,[cx]
否则就会出现编译错误
loop指令:
1.cx存放循环的次数,每次到loop指令时cx = cx - 1,
2.如果cx不为0就跳到标号处执行
3.loop s 实质就是s是一个地址,loop就是将IP的值设为这个地址,再通过cs:ip来执行代码
能够访问内存单元数据的指令为
mov ax,ds:[0],
mov ax,[bx],
mov ax,ds:[bx],
mov ax,es:[bx] 等此类型的指令
段前缀:
“ss:”,“cs:”,“ds:”,“es:”
mov ss:[0],ax,
mov cs:[0],ax,
mov ds:[0],ax,
mov es:[0],ax, 都可以访问内存单元数据
0:200~0:2ff的256个字节是安全空间,系统和程序不会调用
注:在汇编源程序中数据不能以字母开头如(A000H,FFFFH)要加上一个0(0A000H,0FFFFH)
g命令:g 0012 表示的是执行到cs:0012这个地址处
在汇编源程序中mov ax,[0]是被解释为mov ax,0,在debug中才会被解释为段地址+偏移地址的值
|
-
编译失败
评分
-
查看全部评分
|