1樓:鷹的飛翔
試編寫一段程式,要求對鍵盤輸入的小寫字母用大寫字母顯示出來。
編寫程式,從鍵盤接收乙個小寫字母,然後找出它的前導字元和後續字元,再按順序顯示這三個字元。
編寫程式,從鍵盤接收乙個小寫字母,然後找出它的前導字元和後續字元,再按順序顯示這三個字元。
從鍵盤上輸入一串字元,將其中的小寫英文本母變換為大寫英文本母,其他字元保持不變。然後將變換後的字串顯示出來。
試編寫一段程式,要求比較兩個字串string1和string2所含字元是否相等,如相等示「match」, 若不相同則顯示「no match」。
試編寫一段程式,要求在長度為100h位元組的陣列中,找出大於61h的無符號數的個數並存入位元組單元up中,找出小於2fh的無符號數的個數並存入位元組單元down中。
2樓:匿名使用者
用c寫、寫完後,在vc裡面進入除錯模式、然後檢視反彙編**、就可以看到對應的彙編**了。
3樓:匿名使用者
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進製制數後回車即可.
4樓:
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
5樓:吊兒郎當_傑
樓主您好,可以用c給您做麼
6樓:人才不
輸入之後回車!
assume cs:code,ds:data,ss:stackdata segment
temp db 4 dup(0)
msg1 db 10,13,'please input a hex number ',10,13 ,'$'
msg2 db 10,13,'the binary num is ',10,13,'$'
err db 10,13,"the num you input isn't hex",10,13,'$'
h16 dw 16
data ends
stack segment
db 128 dup (0)
tos db '$'
stack ends
code segment
change proc
mov cx,0
l:shr ax,1
jc p1
mov bx,30h
push bx
jmp cont
p1:mov bx,31h
push bx
cont:
inc cx
cmp ax,0
jne l
o:pop dx
mov ah,2
int 21h
loop o
r:ret
change endp
error proc
mov dx,offset err
mov ah,9
int 21h
reterror endp
p09 proc
push ax
mov ax,bx
pop bx
and bx,000fh
mul h16
add ax,bx
mov bx,ax
retp09 endp
paf2 proc
push ax
mov ax,bx
pop bx
and bx,00ffh
mul h16
sub bl,37h
mov bh,0
add ax,bx
mov bx,ax
retpaf2 endp
paf1 proc
push ax
mov ax,bx
pop bx
and bx,00ffh
mul h16
sub bl,87
mov bh,0
add ax,bx
mov bx,ax
retpaf1 endp
start:
mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov sp,offset tos
mov dx,offset msg1
mov ah,9
int 21h
mov bx,0
l1:mov ah,1
int 21h
cmp al,13
je next
cmp al,'0'
jb erro
cmp al,'9'
jng p
cmp al,'a'
jb erro
cmp al,'f'
jng paf
cmp al,'a'
jb erro
cmp al,'f'
jng pa
erro:
call error
jmp exit
pa :
call paf1
jmp l1
paf:
call paf2
jmp l1
p :
call p09
jmp l1
next:
mov dx,offset msg2
mov ah,9
int 21h
mov ax,bx
call change
exit:
mov ax,4c00h
int 21h
code ends
end start
求答案 試編寫組合語言程式,要求對鍵盤輸入的小寫字母用大寫字母顯示出來
中原小壞蛋 按回車結束程式 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 ...
用組合語言編寫程式,用組合語言編寫乙個程式
print macro para 定義乙個巨集,這樣輸出字串的時候,可以省些事兒 lea dx,para mov ah,9 int 21h endm data segment msg1 db 請用拼音輸入姓名學號 格式為 xinming,xuhao buffer db 50,52 dup 0 為什麼...
組合語言程式設計問題編寫組合語言程式。能每隔10秒顯示數字分別為
org 0000h 數碼管共陰 ajmp main org 000bh t0ms equ not 50000 100 ms 晶振 6.000 mhz pjsbz equ 20h pjsbzy equ 21h pst0 mov tl0,low t0ms t0 中斷 mov th0,high t0ms ...