| 一个基础的汇编例题,要求用汇编语言实现R<-X+Y-3 其中R·X·Y都是字数组,要求X,Y放在D_SEG段,R放在E_SEG段 D_SEG segment x dw 200,241,308,102,1247 y dw 20,25,2530,888,356 D_SEG ends E_SEG segment r dw 5 dup(?) E_SEG ends datagroup group D_SEG,E_SEG code segment assume cs:code,ds:datagroup main proc far mov ax,datagroup mov ds,ax call compute mov ax,4c00h int 21h main endp compute proc near mov cx,5 mov si,0 next: mov ax,x[si] add ax,y[si] sub ax,3 mov r[si],ax add si,2 loop next mov cx,5 add di,0 net: mov bx,r[di] push cx call put call crlf add di,2 pop cx loop net ret compute endp put proc near mov cx,10000d call output mov cx,1000d call output mov cx,100d call output mov cx,10d call output mov cx,1d call output ret put endp output proc near mov ax,bx mov dx,0 div cx mov bx,dx mov dl,al add dl,30h mov ah,2 int 21h ret output endp crlf proc near mov dl,0ah mov ah,2 int 21h mov dl,0dh mov ah,2 int 21h ret crlf endp code ends end main
| |