assume cs:codesg,ds:data,es:table
data segment
;bx 0
db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
db '1984','1985','1986','1987','1988','1989','1990','1991','1992'
db '1993','1994','1995'
;以上是表示21年的21个字符串
;si 2*2*8*21
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000
;以上是表示21年公司总收的21个dword型数据
;di = si + 2*2*8*21
dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
dw 11542,14430,45257,17800
;以上是表示21年公司雇员人数的21个word型数据
; 2*8*21
;1,9,7,5, ,0,0,1,6, ,0,2, ,0,0, ;
data ends
table segment
db 21 dup('year summ ne ?? ')
table ends
codesg segment
start:
mov ax, data
mov ds, ax
mov ax, table
mov es, ax
mov bx, 0
mov si, 0
mov bp, 168
mov cx, 21
s:
push cx
mov ax, [bx]
mov es:[si],ax
mov ax, [bx+2]
mov es:[si+2], ax
add si,5
mov ax, [bx+di+86]
push ax
add al, 30h
add ah, 30h
mov es:[si], ah
mov es:[si+1], al
mov ax, [bx+84]
push ax
add al, 30h
add ah, 30h
mov es:[si+2], ah
mov es:[si+3], al
add si, 5
add bx, 4
mov di, si
mov ax, [bp]
push ax
add al, 30h
add ah, 30h
mov es:[di], ah
mov es:[di+1], al
inc bp
inc bp
add di, 3
pop cx
pop ax
pop dx
div cx
add al, 30h
add ah, 30h
mov es:[di], ah
mov es:[di+1], al
add di,3
mov si, di
pop cx
loop s
mov ax, 4c00h
int 21h
codesg ends
end start
汇编中 db dd dw的使用
最新推荐文章于 2024-06-11 18:19:04 发布
本文通过实例展示了汇编语言中db、dd和dw的使用方法,详细解释了如何存储和处理不同类型的数值数据,包括字符串、dword型和word型数据。在代码段中,对数据进行了一系列的读取、转换和输出操作,以展示数据在内存中的布局和处理过程。

768

被折叠的 条评论
为什么被折叠?



