1樓:楊_劉
流程圖這沒辦法給你,具體思路:將10個無符號數按冒泡法從小到大排序,最後的那個數就是最大的了
程式執行結果:
the max:
02334
data segment
mes1 db 'the max:$'
a dw 1,2,100,10,99,120,89,2334,90,1239
data ends
code segment
main proc far
assume cs:code,ds:datastart:
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
;以下是起泡排序核心**
mov cx,10
dec cx
loop1:
mov di,cx
mov bx,0
loop2:
mov ax,a[bx]
cmp a[bx+2],ax
jge cotinue
xchg ax,a[bx+2]
mov a[bx],ax
cotinue:
add bx,2
loop loop2
mov cx,di
loop loop1
mov dx,offset mes1
mov ah,09h
int 21h
call crlf
mov bx,a[18]
call bini ;轉換為十進位制的子程式ret
main endp
bini proc near
mov cx,10000d
call bin
mov cx,1000d
call bin
mov cx,100d
call bin
mov cx,10d
call bin
mov cx,1d
call bin
retbini endp
bin proc near
mov ax,bx
mov dx,0
div cx
mov bx,dx
mov dl,al
add dl,30h
mov ah,02h
int 21h
retbin endp
crlf proc near
mov dl,0ah
mov ah,02h
int 21h
mov dl,0dh
mov ah,02h
int 21
retcrlf endp
code ends
end start
一道組合語言的題,求解答
2樓:永恆
二進位制的最低位為1或0,其它的高位均是2的倍數,所以二進位制數的奇偶性由最低位決定。
當最低位為1時,數為奇數。當最低位為0時,數為偶數。
3樓:可軒
test ax,01h 功能是將待檢測數與0000 0000 0000 0001b作「與」運算,
若test結果為零(零標誌位jz=1),表示待檢測數二進位制最低位為0,該數是偶數;
若test結果非零(零標誌位jz=0),表示待檢測數二進位制最低位為1,該數是奇數。
組合語言題,組合語言題目,求詳解
al 0 cf 0 code segment assume cs code org 100h start push cs pop ds push cs pop es mov al,ah not al add al,ah inc al jc 1 mov dl,0 mov ah,2 int 21h jm...
在學習組合語言的時候有這麼一道題不能理解,希望高手解答,謝謝
1 mov cl,10 mul cl 乘的結果存放在ax中 2 子程式引數傳遞方法有 暫存器傳遞引數 堆疊傳遞引數 制定儲存單元 記憶體ram 傳遞引數 call後續區傳遞引數 3 好像不好畫圖,就文字解釋一下也一樣。1 mov ax,8057h ss ffa0h,sp 00b0h 2 push a...
組合語言一道習題大家幫忙看看對不對
資料段定義錯誤 可如下定義 dseg segment xx dw 10 yy dw 0 dseg ends 或dseg segment xx dw x yy dw y x equ 10 y equ 0 dseg ends 組合語言 一道習題 對的。對於ax dx的,餘數在dx商在ax mov cx,...