組合語言符號數最大者送入MAX,組合語言 三個符號數最大者送入MAX

2022-03-05 10:15:58 字數 1476 閱讀 2469

1樓:匿名使用者

還是自己寫吧,別人把你寫你學不到什麼東西。我的賬號就是我的qq,你不會的話可以問我,盡我所能幫你。

2樓:古振元

desg segment

buffer dw 0fe17h,03a23h,0ff20h

max dw ?

string db 'max=', '$'

desg ends

code segment

assume cs:code,ds:desg

start:

mov ax,desg

mov ds,ax

mov ax,buffer

cmp ax,buffer+2

jge next1

xchg ax,buffer+2

next1: cmp ax,buffer+4

jge next2

xchg ax,buffer+4

;ax stores the max number here

next2: mov bx,buffer+2

cmp bx,buffer+4

jge next3

xchg bx,buffer+4

;bx stores the second max number

next3: mov cx,buffer+4

mov buffer,ax

mov buffer+2,bx

mov buffer+4,cx

mov max,ax

mov bx,ax

mov dx, offset string

mov ah, 09h

int 21h

mov dl,bh

mov ah,02h

int 21h

mov dl,bl

mov ah,02h

int 21h

call newline

mov ah,4ch

int 21h

newline proc

push ax

push dx

mov dl, 0dh

mov ah, 02h

int 21h

mov dl, 0ah

mov ah,02h

int 21h

pop dx

pop ax

retnewline endp

code ends

end start

win 7 下無法測試,你自己看看吧,應該不會有什麼問題

組合語言程式設計的問題,組合語言程式設計問題

1.jmp bx 如果 bx 1020h,那麼 ip 1020h,因為此種形式為通過暫存器的段內間接轉移,執行時將把暫存器的內容直接送ip,所以執行此指令後ip的值為1020h 2.jmp tab bx si 如果 ds 2000h,bx 1020h,si 0002h,tab 0010h,21032...

組合語言編寫AT89C52,組合語言編寫AT89C

怎麼都是輸出?沒有輸入作依據,根據什麼輸出不同的值?把題目改為 p1.0口輸入為1,則p1.3口輸出為1,p1.0口輸入為0,則p1.3口輸出為0,p1.1口輸入為1,則p1.4口輸出為1,p1.1口輸入為0,則p1.4口輸出為0 程式 org 0000h mov c,p1.0 mov p1.3,c...

組合語言中si表示地址還是內容,組合語言中 SI 表示地址還是內容

si 是暫存器間接定址,它是指si中地址的內容,所以是具體內容,si是地址。在x86彙編中,中括號就相當於c語言的星號,即指標,mov x,地址 相當於x p一樣,是取內容。若mov si 100 則si代表 100 si 代表 地址為100的記憶體單元中的內容 記住,有的代表記憶體單元裡面 的內容...