hwp_better 发表于 2020-8-7 16:30

汇编语言-(第三版) 王爽-著 (实验七) 寻址方式在结构化数据访问中的应用

本帖最后由 hwp_better 于 2020-8-7 16:32 编辑

汇编语言-(第三版) 王爽-著 (实验七) 寻址方式在结构化数据访问中的应用
是一个里程碑式的实验。数据处理,代码处理数据转存储。进行循环,以及存储被除数除以除数的数据。
当然也有些许搞不懂的地方。留给以后学习吧!

题目:

g命令跳转:

查看结果:
代码如下:
assume cs:codesg,ds:data,es:table

data segment
      db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
    db '1984','1985','1986','1987','1988','1989','1990','1991','1992'
      db '1993','1994','1995'
      dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
    dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000

    dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
    dw 11542,14430,15257,17800
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 di,0
      mov cx,21
      
      s:
      mov al,
      mov es:,al
      mov al,
      mov es:,al
      mov al,
      mov es:,al
      mov al,
      mov es:,al;写入年份
      
      mov ax,54h
      mov dx,56h
      mov es:5h,ax
      mov es:7h,dx
      
      mov ax,0a8h
      mov es:0ah,ax;写入雇员数
      
      mov ax,54h
      div word ptr ds:0A8h
      mov es:0dh,ax;取整,拿出ax中的东西就足够啦!
      
      add bx,4;用于双字
      add si,2;用于单个字
      add di,16;换行
      
      loop s
      
      mov ax,4c00h
      int 21h
codesg ends
end start
      
      
      

OK

偶尔平凡 发表于 2020-8-7 16:43

hwp_better 发表于 2020-8-7 16:57

偶尔平凡 发表于 2020-8-7 16:43
摩拜大神,汇编都搞的来。

就一个简单的实验

logafo 发表于 2020-8-7 17:09

膜拜!!让我又重温汇编了!!

tzhv_9w6 发表于 2020-8-14 10:07

能看懂部分,还有些关键的看不懂

wsf5201314 发表于 2021-2-5 18:53


膜拜!玩逆向还是得汇编玩的溜

Lucifer2002 发表于 2022-3-18 14:39

谢谢大佬,自己想了半天,结果发现不用ss:sp而是用es,茅塞顿开
页: [1]
查看完整版本: 汇编语言-(第三版) 王爽-著 (实验七) 寻址方式在结构化数据访问中的应用