描述内存单元的标号(1602)

本文为《汇编语言程序设计》1602小节例程。点击链接…进课程主页。

知识点:代码段用标号
例:求2^8

assume cs:code
code segment
start :mov ax, 1
         mov cx,8
    s : add ax, ax
         loop s
         mov ax,4c00h
         int 21h
code ends
end start

知识点:代码段中的数据定义用标号
例:将a 标号处的8个字节数据累加,结果存储到b标号处的字中。

assume cs:code
code segment
         a : db 1,2,3,4,5,6,7,8
         b : dw 0
start :mov si,offset a
         mov bx,offset b
         mov cx,8
    s : mov al,cs:[si]
         mov ah,0
         add cs:[bx],ax
         inc si
         loop s
         mov ax,4c00h
         int 21h
code ends
end start

知识点:代码段中的数据标号(不带冒号的标号)
例:将a 标号处的8个字节数据累加,结果存储到b标号处的字中。

assume cs:code
code segment
          a db 1,2,3,4,5,6,7,8
          b dw 0
start :  mov si,0
          mov cx,8
    s :   mov al,a[si]
          mov ah,0
          add b,ax
          inc si
          loop s
          mov ax,4c00h
          int 21h
code ends
end start

知识点:数据段中的数据标号
例:将a 标号处的8个字节数据累加,结果存储到b标号处的字中。

assume cs:code,ds:data
data segment          
          a db 1,2,3,4,5,6,7,8
          b dw 0
data ends
code segment
start:  mov ax,data
          mov ds,ax
          mov si,0
          mov cx,8
s:       mov al,a[si]
          mov ah,0
          add b,ax
          inc si
          loop s
          mov ax,4c00h
          int 21h
code ends
end start
上一篇:汇编程序:将字符串中所有大写字符转为小写


下一篇:《APUE》读书笔记—第十二章线程控制