將字串反序輸出
用bx儲存字串str的首位址,每次遞迴呼叫revers,當遇到』$'符時返回,在返回的途中輸出每個字元。
datasg segment
str db 'abcde','$'
datasg ends
;-----------------
codesg segment
main proc far
assume cs:codesg,ds:datasg,es:datasg
start:
push ds
sub ax,ax
push ax
mov ax,datasg
mov ds,ax
mov es,ax
;-------------------
mov bx,offset str
push bx ;bx指向的是str的位址
call reverse
pop bx
; mov dl,[bx]
; mov ah,02
; int 21h
ret;-------------------
main endp
;----------------reverse-------------
reverse proc near
push bp
mov bp,sp
; push bx ;保護上一次遞迴呼叫時候的暫存器bx
mov si,[bp+4] ;mov bx,[bp+4]
mov al,[si] ;mov al,[bx]
cmp al,'$'
je return
re_call:
inc bx
push bx
call reverse
pop bx
dec bx
mov dl,[bx]
mov ah,02
int 21h
return:
; pop bx
pop bp
retreverse endp
;----------------reverse-------------
codesg ends
end start
8086系列(8) 邏輯尺
設有陣列x和y。x陣列中有x1,x10 y陣列中有y1,y10。試編制程式計算z1 x1 y1,z2 x2 y2,z3 x3 y3,z4 x4 y4,z5 x5 y5,z6 x6 y6,z7 x7 y7,z8 x8 y8,z9 x9 y9,z10 x10 y10,結果存入z陣列。對於這種問題可以使用...
8086系列(21) 作業6 9
編寫乙個子程式巢狀結構的程式模組,分別從鍵盤輸入姓名及8個字元的 號碼,並以一定的格式顯示出來 主程式 telist 1 顯示提示符input name 2 呼叫子程式input name輸入姓名 3 顯示提示符input a telephone number 4 呼叫子程式inphone輸入 號碼...
8086系列(11) 氣泡排序改進
給乙個長度為n的陣列進行氣泡排序。datasg segment array dw 3,5,6,1,4,2,9,7,0,8 n dw 10 datasg ends codesg segment assume ds datasg,cs codesg,es datasg main proc far sta...