回 帖 发 新 帖 刷新版面

主题:急救

2345h乘8怎么做呀,我要详细的代码,我的代码是
data segment
a db 5h,4h,3h,2h
b db 8h
c db 5 dup(?)
data ends
code segment
assume cs:code,ds:data
start:mov ax,ds
      mov dx,ax
      lea si,a
      lea di,c
      mov cx,4
    l:mov al,[si]
      mul b
      aam
      add al,[di]
      aaa
      mov [di],al
      mov [di+1],ah
      inc si
      inc di
      dec cx
      jnz l
      mov cx,5
    z:mov dl,[di]
      add dl,30h
      mov ah,02h
      int 21h
      dec di
      dec cx
      jnz z
      mov ax,4c00h
      int 21h
code ends
end start    
不知道怎么执行不了



回复列表 (共1个回复)

沙发


data segment
a dw 2345h
b dw 8
data ends
code segment
assume cs:code,ds:data
start:
      mov ax,data
      mov ds,ax
      
      mov ax,a
      mov bx,b
      mul bx
      mov ax,4c00h
      int 21h
code ends
end start   
执行完后乘积的高位存在dx中,低位存在AX中,这是乘法指令的性质,你可以看看
你从数据段取数据错了
应该是 mov ax,data
       mov ds,ax

我来回复

您尚未登录,请登录后再回复。点此登录或注册