求助一道組合語言題,一道組合語言的題,求解答

2021-03-19 18:22:56 字數 1735 閱讀 6093

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,...