[BX]和loop指令04 – 零基础入门学习汇编语言26

第五章:[BX]和loop指令04

让编程改变世界

Change the world by program

温故而知新

[bx]的作用:作为偏移地址与DS配合

loop和cx合作

debug的-g 偏移地址 命令 和 -p命令

Debug和汇编编译器Masm对指令的不同处理

本节只试点为下面刻成的顺利进行提供一点预备知识。

我们在Debug中写过类似的指令:

mov ax,[0]

表示将ds:0处的数据送入al中。

但是在汇编元程序中,指令“mov ax,[0]”被编译器当作指令“mov ax,0”处理。

示例任务:

将内存2000:0、2000:1 、2000:2、2000:3单元中的数据送入al,bl,cl,dl中。

(1)在Debug中编程实现

(2)汇编程序实现

两种实现的实际实施情况

在Debug中编程实现

mov ax,2000h

    mov ds,ax

    mov al,[0]

    mov bl,[1]

    mov cl,[2]

    mov dl,[3]

汇编程序实现

assume cs:code

code segment

        mov ax,2000h

        mov ds,ax

        mov al,[0]

        mov bl,[1]

        mov cl,[2]

        mov dl,[3]

        mov ax,4c00h

        int 21h

code ends

end

如果一定要像DEBUG那样

在MASM中mov ax, [2]是解释为mov ax,2的。一般我们是通过BX来代替,像这道题我们先mov bx, 2 再通过mov ax, [bx]来实现。

但是我们要像DEBUG一样直接用[2]可以吗?答案是……

可以的,不过要加上段地址!!试试!

最后小甲鱼还是要来啰嗦总结下~

对比以下指令分辨:

mov al, [0]

mov al, ds:[0]

mov al, [bx]

mov al, ds:[bx]

视频下载
技术, IT技术, 汇编语言, 视频教程


风险提示及免责条款

市场有风险,投资需谨慎。本文不构成个人投资建议,也未考虑到个别用户特殊的投资目标、财务状况或需要。用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部