高手幫忙寫簡單的組合語言程式,高手幫忙寫一個簡單的組合語言程式 線上等

時間 2021-08-14 23:04:29

1樓:鯤鵬展翅

data segment

k db 0d9h,07h,8bh,0c5h,0ebh,04h,9dh,0f9h,1h,2h,0ch,3h,0bh,4h,5h,6h,7h,9h,8h,0ah

data ends ;資料段

code segment

assume cs:code, ds:datastart: mov ax, data

mov ds, ax

lea si, k ;源地址

mov cx,20

mov bh, [si] ;最大最小都初始化為第一個數mov bl, bh

inc si

a1: lodsb

cmp al, bh ;比較第二和第二個以後的數jle a2 ;小於等於的話跳到a2

mov bh, al ;大於的話更新最大值jmp a3

a2: cmp al, bl ;和目前最小值比較jge a3 ;高的話跳到a3

mov bl, al ;更新最小值

a3: loop a1 ;迴圈

call disp

mov bl,bh

call disp

mov ax, 4c00h

int 21h

disp proc near

mov ch,2

rotate:

mov cl,4

rol bl,cl

mov al,bl

and al,0fh

add al,30h

cmp al,3ah

jl printit

add al,7h

printit:

mov dl,al

mov ah,2

int 21h

dec ch

jnz rotate

retdisp endp

code ends

end start

2樓:

data segment

numa db 0d9h,07h,8bh,0c5h,0ebh,04h,9dh,0f9h

numb db ?,?

max db 'min: '

x db '00h',0dh,0ah

min db 'max: '

y db '00h$'

data ends ;資料段

code segment

assume cs:code, ds:datastart: mov ax, data

mov ds, ax

lea si, numa ;源地址

lea di, numb ;目標地址

mov cx, 7

mov bh, [si] ;最大最小都初始化為第一個數mov bl, bh

inc si

a1: lodsb

cmp al, bh ;比較第二和第二個以後的數jbe a2 ;小於等於的話跳到a2

mov bh, al ;大於的話更新最大值jmp a3

a2: cmp al, bl ;和目前最小值比較jae a3 ;高的話跳到a3

mov bl, al ;更新最小值

a3: loop a1 ;迴圈

mov [di], bx ; 把最大最小放到目標資料區lea di,x

mov al,numb

call bintohex;轉換

lea di,y

mov al,numb+1

call bintohex

lea dx,max;顯示輸出

mov ah,9

int 21h

mov ah,0

int 16h

mov ax, 4c00h

int 21h

bintohex:

mov ah,al

mov cl,4

shr al,cl

and al,0fh

or al,'0'

cmp al,'9'

jbe q1

add al,7

q1:mov [di],al

inc di

mov al,ah

and al,0fh

or al,'0'

cmp al,'9'

jbe q2

add al,7

q2:mov [di],al

retcode ends

end start

彙編高手來幫幫忙 謝謝了**等答案,

3樓:做而論道

五、程式設計題(2道小題,共20分)

1、以下5個小題,請分別用一條masm語句完成其要求。

(1)將45h,0f000h,89h存放在變數xyz的儲存單元中。

xyz db 45h,0f000h,89h(2)預留100個位元組單元的儲存空間,用變數名buffer表示buffer db 100 dup(?)(3)將字串「how are you !」存入變數fourmsgfourmsg db 'how are you !

'(4)將cx減1

dec cx

(5)取字串變數msg的首地址送bx

lea bx, msg

微機原理組合語言的程式

衛生一報 除錯時需要把中文標點符號改為英文標點符號,否則會出現out of memory的提示資訊 data segment 定義資料段 adr db 10,31,45,67,80,46,0,31,0,77 num equ adr num是資料個數da1 db 0 da1用來存放正數的個數,初值為0...

高手幫忙寫彙編程式,高手幫忙寫一個彙編程式

data segment block db 20 dup c1 equ block count db data ends code segment assume cs code,ds datastart mov ax,data mov ds,ax mov cx,c1 長度 mov bx,offset...

組合語言的延時問題簡單急

nop和ljmp start通常是放在中斷入口處,一般微控制器前100h位元組有幾個中斷入口,有軟中斷也有硬中斷,如果沒有用到中斷,最好也把中斷入口給預留出來,並且用nop和ljmp start指令填入,這是一種程式設計技巧,可以防止意外中斷產生,照成程式執行混亂,轉到start後,可以確保程式從頭...