hglboke 2017-08-31 04:45 采纳率: 0%
浏览 1457

汇编语言 王爽老师 课程设计1

assume cs:code

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

temp segment
db 10 dup(0)
temp ends

stack segment
db 64 dup(0)
stack ends

code segment
start:
mov ax,stack
mov ss,ax
mov sp,64

mov ax,data
mov es,ax
mov ax,temp
mov ds,ax
mov si,0
mov bp,0
mov bx,0
mov di,0

mov cx,21
s: push cx
   mov ax,es:[bx]
   mov ds:[si],ax
   mov ax,es:[bx+2]
   mov ds:[si+2],ax
   mov byte ptr ds:[si+4],0

   mov dh,24
   sub dh,cl
   mov dl,3
   mov cl,2
   call show_str

   push dx
   mov ax,es:[84+bp]
   mov dx,es:[84+bp+2]
   call dtoc
   pop dx
   add dl,10
   call show_str

   push dx
   mov ax,es:[168+di]
   mov dx,0
   call dtoc
   pop dx
   add dl,10
   call show_str

   push dx
   push cx
   mov ax,es:[84+bp]
   mov dx,es:[84+bp+2]
   mov cx,es:[168+di]
   call divdw
   call dtoc
   pop cx
   pop dx
   add dl,10
   call show_str

   add bx,4
   add bp,4
   add di,2

   pop cx

loop s

mov ax,4c00h
int 21h

show_str:
push ax
push bx
push cx
push si
push di
push es

  mov bl,cl
  mov bh,0
  mov ax,0b800h
  mov es,ax
  mov al,0a0h
  mov ah,0
  mul dh
  mov di,ax
  mov al,2h
  mov ah,0
  mul dl
  add di,ax

  write_str:
      mov ch,0
      mov cl,[si]
      jcxz ok
      mov es:[di],cl
      mov es:[di+1],bl
      inc si
      add di,2
      jmp short write_str
 ok:
    pop es
    pop di
    pop si
    pop cx
    pop bx
    pop ax
    ret

divdw:
push bx

  push ax
  mov ax,dx
  mov dx,0
  div cx
  mov bx,ax
  pop ax
  div cx
  mov cx,dx
  mov dx,bx

  pop bx
  ret

dtoc:
push bx
push cx
push si
mov cx,0
push cx
mov bx,1
div_continue:
mov cx,10
call divdw
add cx,30H
push cx
inc bx

      mov cx,dx
      jcxz hzero
      jmp short div_continue
      hzero:
          mov cx,dx
          jcxz lzero
          jmp short div_continue
          lzero:
              mov cx,bx
              s_move:
                  pop bx
                  mov ds:[si],bx
                  inc si
                  loop s_move
              pop si
              pop cx
              pop bx
              ret

code ends

end start

不知是哪里错了,请大神看看,得出的图不对,,,

  • 写回答

1条回答 默认 最新

  • hglboke 2017-08-31 04:47
    关注

    图片说明这是楼主我得出的图,不知哪错了。。

    评论

报告相同问题?

悬赏问题

  • ¥15 CSS实现渐隐虚线边框
  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题