用組合語言編寫程式,用組合語言編寫乙個程式

時間 2022-03-14 00:50:24

1樓:

print macro para ;定義乙個巨集,這樣輸出字串的時候,可以省些事兒

lea dx,para

mov ah,9

int 21h

endm

data segment

msg1 db '請用拼音輸入姓名學號[格式為:xinming,xuhao$'

buffer db 50,52 dup(0)' ;為什麼是52?因為你可以輸入50個,而系統要用1個位元組,在後面放$也需要1個位元組

msg2 db 'xinming,xuhao'

crlf 0dh,0ah,24h

data ends

code segment

assume cs:code, ds:data

start: mov ax,data

mov ds,ax

print msg1 ;顯示「請輸入……」

lea dx,buffer

mov ah,0ah

int 21h

lea bx,buffer+2 ;下面幾句是利用輸入串的長度,來找到該串的尾部,以便填寫乙個'$'用做顯示時的結束。

mov al,[bx-1]

xor ah,ah

add bx,ax

mov al,24h

mov [bx],al

print crlf

print msg2

print buffer+2

mov ax,4c00h

int 21h

code ends

end start

由於我這裡沒有環境,程式沒法除錯,大致方法如此。

希望可以幫到你。

用組合語言編寫乙個簡單程式

2樓:匿名使用者

push ax

push bx

pop ax

pop bx

核心**

用組合語言編寫乙個簡單程式?

3樓:匿名使用者

如果不要求用函式子程式實現,右邊這個就是答案。

4樓:匿名使用者

右邊這個社組合語言,但是不是左邊的這個程式,那就不清楚了。

5樓:沙里波特

針對 5 個數,分別求其 sgn(x),程式並不難。

圖二的程式也算正確,但是,還不能說是「簡單」程式。

用組合語言怎麼編寫跑馬燈程式?

6樓:匿名使用者

跑馬燈程式用彙編是很好實現的,只要用好迴圈移位指令就可以,以下是程式。

org 0000h

ljmp main

org 0030h

main:

mov a,#0feh

loop:

mov p1,a ;將控制字送埠

rl a ;控制字迴圈左移

lcall delay ;延時

sjmp loop

delay: ;延時大概1秒

mov r2,#10

dly1:

mov r3,#200

dly2:

mov r4,#250

djnz r4,$

djnz r3,dly2

djnz r2,dly1

retend

用組合語言編寫乙個51微控制器的程式

7樓:郭田享

首先搞清led管是高電平導通還是低電平導通。

如果是低電平導通,p1賦0x00時,發光管全亮,0xff時,全滅。

具體程式:

#define uint unsigned int#define uchar unsigned charvoid delay(uint time_out)}}void main()

}程式大致如此,delay函式負責延遲500ms.有問題自己再除錯除錯

組合語言編寫乙個程式

用組合語言編寫乙個小小程式

8樓:匿名使用者

這個還不簡單#includevoid main()

用組合語言寫乙個程式

9樓:匿名使用者

datarea segment

string1 db 82 dup(?)

letter db 0

digit db 0

other db 0

datarea ends

prognam segment

main proc far

assume cs:prognam,ds:datareastart:

push ds

sub ax,ax

push ax

mov ax,datarea

mov ds,ax

lea bx,string1

mov dx,bx

mov al,80

mov [bx],al

mov ah,0ah

int 21h

inc bx

mov cl,[bx]

begin_:

inc bx

mov al,[bx]

cmp al,30h

jl other_

cmp al,3ah

jl digit_

cmp al,41h

jl other_

cmp al,5bh

jl letter_

cmp al,61h

jl other_

cmp al,7bh

jl letter_

other_:

inc other

jmp lp_

letter_:

inc letter

jmp lp_

digit_:

inc digit

lp_:

loop begin_

mov ah,02h

mov dl,0ah

int 21h

mov dl,0dh

int 21h

mov dl,letter

call output

mov dl,digit

call output

mov dl,other

call output

retmain endp

output proc near

add dl,30h

int 21h

mov dl,20h

int 21h

int 21h

retoutput endp

prognam ends

end start

letter是英文本元的個數

digit是數字字元的個數

other是其它字元的個數

三個加起來就是字串長度

用組合語言編寫程式計算y a

a.s檔案 syntax unified arch armv7 m cpu cortex m3 thumb y a x 2 b c int func1 int a,int b,int c,int x param r0 a,r1 b,r2 c,r3 x return y r0 global func1...

用組合語言編寫簡單程式,用組合語言編寫一個簡單程式

sweet馮 1.計算u x y z 100 w 其中 x,y,z,w均為十六位有符號數。程式如下 data segment x dw 10 16位變數 y dw 20 z dw 30 w dw 40 u dw data ends code segment assume cs code,ds dat...

用組合語言編寫延時1S的子程式,用組合語言編寫乙個延時1S的子程式

湯旺河邊 本程式通過編譯,執行正確 code segment assume cs code,ds code subroutine 延時指定的時鐘嘀嗒數 入口 didas 時鐘嘀嗒數 1秒鐘約嘀嗒18.2次,10秒鐘嘀嗒182次。若延時不是秒的10數次倍,誤差稍微大點 delay1s proc nea...