1樓:鷹的飛翔
試編寫一段程式,要求對鍵盤輸入的小寫字母用大寫字母顯示出來。
編寫程式,從鍵盤接收一個小寫字母,然後找出它的前導字元和後續字元,再按順序顯示這三個字元。
編寫程式,從鍵盤接收一個小寫字母,然後找出它的前導字元和後續字元,再按順序顯示這三個字元。
從鍵盤上輸入一串字元,將其中的小寫英文字母變換為大寫英文字母,其他字元保持不變。然後將變換後的字串顯示出來。
試編寫一段程式,要求比較兩個字串string1和string2所含字元是否相等,如相等示“match”, 若不相同則顯示“no match”。
試編寫一段程式,要求在長度為100h位元組的陣列中,找出大於61h的無符號數的個數並存入位元組單元up中,找出小於2fh的無符號數的個數並存入位元組單元down中。
2樓:匿名使用者
code segment
assume cs:code
start: mov bx,0
mov ch,4
mov cl,4
s0: mov ah,1 ;鍵盤輸入4個16進位制數
int 21h
cmp al,39h ;判斷是0~9還是a~h,若是數字減30h,否則還要減07h
jbe next
sub al,07h
next: sub al,30h
shl bx,cl
add bl,al ;轉換後的資料存入bx,每存一次左移4位
dec ch
jnz s0 ;輸入完則控制顯示
mov cx,16
s1: mov dl,0
rol bx,1 ;迴圈左移1位,最高位移入cf
adc dl,30h ;加30h後可得該位的ascii碼.
mov ah,02h
int 21h
loop s1
mov ax,4c00h
int 21h
code ends
end start
說明:編譯連線後,執行後直接輸入4個16進位制數後回車即可.
3樓:lynn菇涼
程式段如下:
begin: mov bx, 0 ;用於存放四位的16進位制數mov ch, 4
mov cl, 4
input: shl bx, cl ;將前面輸入的數左移4位mov ah, 1 ;從鍵盤取數
int 21h
cmp al, 30h ;<0嗎?
jb input ;不是‘0~f’的數重新輸入cmp al, 39h ;是‘0~9’嗎?
ja af ;不是,轉‘a~f’的處理and al, 0fh ;轉換為:0000b~1001bjmp binary
af: and al, 1101 1111b ;轉換為大寫字母cmp al, 41h ;又f嗎?
ja input ;不是‘a~f’的數重新輸入and al, 0fh ;轉換為:1010b~1111badd al, 9
binary: or bl, al ;將鍵盤輸入的數進行組合del ch
jnz input
dispn: mov cx, 16 ;將16位二進位制數一位位地轉換成ascii碼顯示
disp: mov dl, 0
rol bx, 1
rcl dl, 1
or dl, 30h
mov ah, 2 ;進行顯示
int 21h
loop disp
stop: ret
如何用組合語言編寫:從鍵盤上輸入一個十六進位制數,將其轉換成一個十進位制數顯示。
4樓:匿名使用者
data segment
data1 db ?
data2 db 2 dup(?)
data20 db 2 dup(?)
data3 db 'input error, please enter again!','$'
data ends
stack segment
db 5 dup(?)
stack ends
code segment
assume cs:code, ds:data,ss:stackstart:mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov bx,0
input:mov ah,01h
int 21h
cmp al,51h;判斷輸入的字元是否為**e exit
;如果是q就退出
cmp al,71h;判斷輸入的字元是否為**e exit
;如果是q就退出
push ax
;把從鍵盤輸入的字元的ascii存到堆疊段sub al,30h ;判斷是否為數字
cmp al,00h
jl indi ;如果不是就提示錯誤
cmp al,09h ;
mov bl,al ;
jle output2;如果是數字就輸出
pop ax ;把al的值取出來
push ax ;
mov bl,al
sub al,41h;判斷是否為大寫字母a到fcmp al,00h
jl indi
;如果不是就提示錯誤
cmp al,06h
jl change
pop ax
push ax
mov bl,al
sub al,61h;判斷是否為小寫字母a到fcmp al,00h
jl indi ;如果不是就提示錯誤
cmp al,06h
jl change
pop ax
jmp indi
change:mov si,0
mov di,0
mov cl,4
mov al,bl
and al,11011111b;統一換為大寫字母再轉換,如果是大寫字母就不變
sub al,31h
mov bl,al
and al,0fh ;與運算,取低位
mov [data2+si],al ;把個位數存到data2中mov al,bl
sar al,cl ;算術右移,取高位
mov[data20+di],al;把十位數存到data20中output1: mov dl,48h;輸出十六進位制符號hmov ah,02h
int 21h
mov dl,3dh ;輸出等號‘=’
mov ah,02h
int 21h
mov dl,[data20+di];輸出十位數add dl,30h
mov ah,02h
int 21h
mov dl,[data2+si];輸出個位數add dl,30h
mov ah,02h
int 21h
mov dl,20h
mov ah,02h
int 21h
jmp input;跳到輸入數字
output2: mov dl,48h ;輸出數字mov ah,02h
int 21h
mov dl,3dh
mov ah,02h
int 21h
mov dl,bl
add dl,30h
mov ah,02h
int 21h
mov dl,20h
mov ah,02h
int 21h
jmp input
indi:mov dl,20h ;提示子程式mov ah,02h
int 21h
mov dx,offset data3 ;顯示提示資訊mov ah,09h
int 21h
jmp input
exit:mov ah,4ch
int 21h
code ends
end start
試編寫一個組合語言程式,要求從鍵盤接收一個四位的16進位制數,並在終端上顯示與它等值的二進位制數。
5樓:鷹的飛翔
試編寫一段程式,要求對鍵盤輸入的小寫字母用大寫字母顯示出來。
編寫程式,從鍵盤接收一個小寫字母,然後找出它的前導字元和後續字元,再按順序顯示這三個字元。
編寫程式,從鍵盤接收一個小寫字母,然後找出它的前導字元和後續字元,再按順序顯示這三個字元。
從鍵盤上輸入一串字元,將其中的小寫英文字母變換為大寫英文字母,其他字元保持不變。然後將變換後的字串顯示出來。
試編寫一段程式,要求比較兩個字串string1和string2所含字元是否相等,如相等示“match”, 若不相同則顯示“no match”。
試編寫一段程式,要求在長度為100h位元組的陣列中,找出大於61h的無符號數的個數並存入位元組單元up中,找出小於2fh的無符號數的個數並存入位元組單元down中。
6樓:匿名使用者
用c寫、寫完後,在vc裡面進入除錯模式、然後檢視反彙編**、就可以看到對應的彙編**了。
7樓:匿名使用者
code segment
assume cs:code
start: mov bx,0
mov ch,4
mov cl,4
s0: mov ah,1 ;鍵盤輸入4個16進位制數
int 21h
cmp al,39h ;判斷是0~9還是a~h,若是數字減30h,否則還要減07h
jbe next
sub al,07h
next: sub al,30h
shl bx,cl
add bl,al ;轉換後的資料存入bx,每存一次左移4位
dec ch
jnz s0 ;輸入完則控制顯示
mov cx,16
s1: mov dl,0
rol bx,1 ;迴圈左移1位,最高位移入cf
adc dl,30h ;加30h後可得該位的ascii碼.
mov ah,02h
int 21h
loop s1
mov ax,4c00h
int 21h
code ends
end start
說明:編譯連線後,執行後直接輸入4個16進位制數後回車即可.
8樓:
begin: mov bx, 0 ;用於存放四位的16進位制數mov ch, 4
mov cl, 4
input: shl bx, cl ;將前面輸入的數左移4位mov ah, 1 ;從鍵盤取數
int 21h
cmp al, 30h ;<0嗎?
jb input ;不是‘0~f’的數重新輸入cmp al, 39h ;是‘0~9’嗎?
ja af ;不是,轉‘a~f’的處理and al, 0fh ;轉換為:0000b~1001bjmp binary
af: and al, 1101 1111b ;轉換為大寫字母cmp al, 41h ;又f嗎?
ja input ;不是‘a~f’的數重新輸入and al, 0fh ;轉換為:1010b~1111badd al, 9
binary: or bl, al ;將鍵盤輸入的數進行組合del ch
jnz input
dispn: mov cx, 16 ;將16位二進位制數一位位地轉換成ascii碼顯示
disp: mov dl, 0
rol bx, 1
rcl dl, 1
or dl, 30h
mov ah, 2 ;進行顯示
int 21h
loop disp
stop: ret
求匯程式設計序,編寫組合語言,匯程式設計序基礎語法
什麼都沒有,怎麼寫?匯程式設計序基礎語法 注意 立即數書寫必須以數字開頭,若十六進製制數第一位為字母,可在前面新增0。變數一旦被定義,就具有以下三個屬性 表示該變數存放在哪個邏輯段中,變數的段基值可以用seg運算子獲取。表示變數所在位置與段起始點之間的位元組數,變數的偏移量可以用offset運算子獲...
試編寫組合語言程式,要求從鍵盤接收四位的16進製制數,並在終端上顯示與它等值的二進位制數
鷹的飛翔 試編寫一段程式,要求對鍵盤輸入的小寫字母用大寫字母顯示出來。編寫程式,從鍵盤接收乙個小寫字母,然後找出它的前導字元和後續字元,再按順序顯示這三個字元。編寫程式,從鍵盤接收乙個小寫字母,然後找出它的前導字元和後續字元,再按順序顯示這三個字元。從鍵盤上輸入一串字元,將其中的小寫英文本母變換為大...
求答案 試編寫組合語言程式,要求對鍵盤輸入的小寫字母用大寫字母顯示出來
中原小壞蛋 按回車結束程式 codes segment assume cs codes start a mov ah,01h int 21h cmp al,0dh jz exit sub al,32 mov dl,al mov ah,02 int 21h jmp a exit mov ah,4ch ...