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

2022-02-19 11:00:50 字數 3774 閱讀 9642

1樓:夢裡尋你我他

1樓那個**是可以,但是其實可以更簡單,

小寫字母內碼範圍是61h-7ah

大寫字母內碼範圍是41h-5ah

那麼只要比較輸入的字元內碼是否在61h-7ah之間如果是,則將其減去20h,就是大寫字母了

2樓:

;------------------------------------

print macro para ; 定義一個顯示字串的巨集

lea dx, para

mov ah, 9

int 21h

endm

;------------------------------------

dseg segment

msg_lower db ' lower', 0dh, 0ah, 24h

msg_upper db ' please enter a lowercase letter', 0dh, 0ah, 24h

msg_enter db 0dh, 0ah, 24h

msg_no db ' no', 0dh, 0ah, 24h

msg1 db 'please press a key (press [esc] key to end program): $'

dseg ends

;------------------------------------

cseg segment

assume cs:cseg, ds:dseg

start:

mov ax, dseg

mov ds, ax

;------------------------

lb_1:

print msg1 ;顯示提示資訊

mov ah, 1

int 21h ;輸入一個字元

cmp al, 1bh ;是[esc]?

jz exit

cmp al, 'a' ;小於'a'?

jb lb_no

cmp al, 'z' ;大於'z'?

ja lb_no

cmp al, 'z' ;小於等於'z'?

jbe uuu

cmp al, 'a' ;小於'a'?

jb lb_no

;------------------

print msg_lower

jmp lb_1

uuu:

add al,20h

mov dl,al

mov ah,2

int 21h

print msg_enter

jmp lb_1

lb_no:

print msg_no

jmp lb_1

;------------------------

exit:

mov ax, 4c00h

int 21h

cseg ends

end start

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

3樓:匿名使用者

push ax

push bx

pop ax

pop bx

核心**

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

4樓:匿名使用者

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

5樓:匿名使用者

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

6樓:沙裡波特

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

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

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

7樓:郭田享

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

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

具體程式:

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

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

用組合語言編寫一個程式 5

8樓:

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

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

希望可以幫到你。

組合語言編寫一個程式

試用組合語言編寫一個程式,該程式的功能如下:

9樓:做而論道

當bl為0,將0—255這256個數從小到大的順序放入當bl為1,將0—255這256個數從大到小的順序放入當bl為其它,將0放入以3100h為起始的單元中去;mov al, 0

mov cx, 256

mov di, 3100h

lp:mov [di], al

cmp bl, 0

jnz one

inc al

jmp next

one:

cmp bl, 1

jnz next

dec al

next:

inc di

loop lp

hltend

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

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 data start...

組合語言跑馬燈程式設計,用組合語言編寫跑馬燈程式

迴圈點亮你只要用位移指令就行啦!假如是p1口,你只要先給他賦予一個初值00000001,假如是高電平點亮,那這是就只有一盞燈亮,迴圈左移就行啦!每次迴圈一次,都呼叫一下延時這就可以按自己要求設定延時的時間啦!其實思路都挺簡單的!不過你要是對微控制器一點都不瞭解,那隻好叫別人寫好給你算了!你直接複製下...

關於中斷的,要使用組合語言編寫

ledh equ 30h ledl equ 31h org 0000h ajmp main org 0003h sjmp int 2 org 0013h sjmp int 1 main mov sp,60h mov a,0eeh mov p2,a mov ledh,0e0h mov ledl,0eh...