• [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中编程实现 [codesyntax lang="asm"]
        mov ax,2000h
        mov ds,ax
        mov al,[0]
        mov bl,[1]
        mov cl,[2]
        mov dl,[3]
    [/codesyntax] 汇编程序实现 [codesyntax lang="asm"]
    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
    [/codesyntax]  

    如果一定要像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]

    [buy] 获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink href='http://kuai.xunlei.com/d/LATUJCIBLVZC']视频下载[/Downlink]
  • 相关阅读:
    单例模式
    反射常见方法
    字符流,字节流总结
    泛型限定
    随机数判断最值
    字符流与字节流练习
    文件常见操作属性
    文件过滤器
    字符流读取文件
    目前最流行的IT编程语言
  • 原文地址:https://www.cnblogs.com/LoveFishC/p/3846983.html
Copyright © 2020-2023  润新知