鱼C论坛

 找回密码
 立即注册
查看: 2923|回复: 3

汇编实验7交流

[复制链接]
发表于 2011-2-28 20:15:34 | 显示全部楼层
  1. ;----------------------------------------------------------------------------
  2. ;  Name: 实验7 寻址方式在结构化数据访问中的应用
  3. ;  Author: Seely
  4. ;  Date: 21:31 2011-1-6  
  5. ;----------------------------------------------------------------------------

  6. assume cs:codesg,ds:data,es:table

  7. data segment

  8.         db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
  9.         db '1984','1985','1986','1987','1988','1989','1990','1991','1992'
  10.         db '1993','1994','1995'
  11.         
  12.         ;以上是表示21年的21个字符串  (0-53h)
  13.         
  14.         dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
  15.         dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000
  16.         
  17.         ;以上是表示21年公司总收入的21个dword型数据  (54h-0A7h)
  18.         
  19.         dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
  20.         dw 11542,14430,15257,17800
  21.         
  22.         ;以上是表示21年公司雇员人数的21个word型数据  (0A8h-0D1h)
  23.         
  24. data ends

  25. table segment

  26.         db 21 dup ('year summ ne ?? ')
  27.         
  28. table ends

  29. codesg segment

  30. start: mov ax,data
  31.        mov ds,ax
  32.        mov ax,table
  33.        mov es,ax      
  34.        mov bx,0
  35.        mov si,0
  36.        mov di,0
  37.       
  38.        mov cx,21
  39.       
  40.     s: mov al,[bx]
  41.        mov es:[di],al          ;字符串第一个字符写到table段
  42.        mov al,[bx+1h]   
  43.        mov es:[di+1h],al        ;字符串第二个字符写到table段
  44.        mov al,[bx+2h]
  45.        mov es:[di+2h],al        ;字符串第三个字符写到table段
  46.        mov al,[bx+3h]
  47.        mov es:[di+3h],al        ;字符串第四个字符写到table段
  48.        mov al,20h
  49.        mov byte ptr es:[di+4h],al       ;空格
  50.       
  51.        mov ax,[bx+54h]
  52.        mov es:[di+5h],ax       ;收入前两字节低16位写到table段
  53.        mov dx,[bx+56h]      
  54.        mov es:[di+7h],dx        ;收入后两字节高16位写到table段   
  55.        mov al,20h   
  56.        mov byte ptr es:[di+9h],al       ;空格
  57.       
  58.        mov ax,[si+0A8h]         
  59.        mov es:[di+0Ah],ax       ;雇员人数,16位除数写到table段
  60.        mov al,20h
  61.        mov byte ptr es:[di+0Ch],al       ;空格
  62.       
  63.        mov ax,[bx+54h]          ;总收入,被除数,低16位放ax
  64.        mov dx,[bx+56h]          ;总收入,被除数,高16位放dx
  65.        div word ptr ds:[si+0A8h];做除法运算
  66.        mov es:[di+0Dh],ax       ;将商写到table段
  67.        mov al,20h
  68.        mov byte ptr es:[di+0Fh],al      ;空格
  69.       
  70.        add bx,4
  71.        add si,2
  72.        add di,16      
  73.        loop s
  74.       
  75.        mov ax,4c00h
  76.        int 21h   
  77.       
  78. codesg ends

  79. end start
复制代码

                               
登录/注册后可看大图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
头像被屏蔽
发表于 2011-3-10 06:10:30 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-4-8 18:48:38 | 显示全部楼层
你们都是自己独立完成的吗?我的意思是看教程之前完成的还是看教程之后完成的!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-4-12 17:18:45 | 显示全部楼层
3楼。你栈空间没有定义,  SS没有初始化 SP 没有初始化。 请问这样可以使用栈吗?
我是新手。提出疑问请指教
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-28 21:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表