導航:首頁 > 廢水知識 > 匯編語言用鍵盤輸入錯誤回刪

匯編語言用鍵盤輸入錯誤回刪

發布時間:2021-02-05 21:59:18

1. 匯編語言,從鍵盤上輸入一串字元串,當輸入字元是回車時,顯示輸入的所有字元

下列程序已經調試通過。
;---------------------------------
DATA SEGMENT
MSG1 DB 13, 10, 'Please input a char : ', 13, 10, 13, 10, '$'
DDD1 DB 13, 10, 13, 10
DDD2 DB 81 DUP ('$')
DATA ENDS
;---------------------------------
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX, DATA
MOV DS, AX
;---------------------------------
MOV DX, OFFSET MSG1
MOV AH, 9 ;9號功能調用,顯示提示.
INT 21H ;顯示.
MOV DI, OFFSET DDD2
LOP:
MOV AH, 1 ;輸入字元.
INT 21H
CMP AL, 13
JZ EXIT ;'回車'結束.
MOV [DI], AL
INC DI
CMP DI, OFFSET DDD2 + 80
JZ EXIT ;輸入80個字元了,也結束.
JMP LOP ;繼續輸入.
;---------------------------------
EXIT:
MOV DX, OFFSET DDD1
MOV AH, 9 ;9號功能調用.
INT 21H ;顯示輸入的字元.
;---------------------------------
MOV AH, 4CH ;程序結束.
INT 21H
;---------------------------------
CODE ENDS
END START
;---------------------------------

2. 匯編語言編寫,從鍵盤輸入一個字元串,刪除其中的空格,刪除前和刪除後的字元串都顯示

;消空
codesegment
assumecs:code
org100h
start:
jmpbbb
str1db254p('')
str2db254p('')
numdb?
msg1db10,13,'pleaseinputstring:','$'
lfcrdb10,13,'$'

bbb:
pushcs
popds
leadx,msg1
movah,9
int21h

MOVcx,0
leadi,str1
again1:
movah,1
int21h
cmpal,13
jeline1
movbyteptr[di],al
inccx
incdi
jmpagain1
line1:
;movbyteptr[num],cl
movbyteptr[di+1],'$'

leadx,lfcr
movah,9
int21h
leadx,str1
movah,9
int21h

leasi,str1
leadi,str2
again2:
moval,byteptr[si]
cmpal,''
jeline2
movbyteptr[di],al
incdi
line2:
incsi
loopagain2
movbyteptr[di+1],'$'

leadx,lfcr
movah,9
int21h
leadx,str2
movah,9
int21h

movah,4ch
int21h
codeends
endstart

3. 匯編語言 輸入數據錯誤如何實現退格刪除

不知道你埠數據什麼意思,是用IN讀入數據嗎?不知道,下面的程序是兩組數據的比較並西顯示是不是完全一樣,全自己寫的,嘻嘻 data segment MAIN db 01h,02h,03h,04h,05h,06h,07h,08h,09h,0Ah;十個數 REDUNDAT db 01h,02h,03h,04h,05h,06h,07h,08h,09h,0Ah;十個數 NUMBER equ $-REDUNDAT ;REDUNDAT埠個數,應該和MAIN一樣吧 diff db 'not the same',0AH,0DH,'$' ; sam db 'the same',0AH,0DH,'$' ; data ends code segment assume cs:code,ds:data;聲明段 start:mov ax,data mov ds,ax;初始化DS mov cx,NUMBER ;個數cx lea di,MAIN lea si,REDUNDAT next:mov al,[si] cmp al,[di] ; jnz nnn inc si inc di loop next ;cx 是否為0 mov ah,09h lea dx,sam ;得到提示信息的偏移地址 int 21h ;顯示字元串,以'$'結束 jmp none nnn:mov ah,09h lea dx,diff ;得到提示信息的偏移地址 int 21h ;顯示字元串,以'$'結束 none: mov ah,4ch int 21h ;退出DOS code ends end start

4. 為什麼用匯編語言編寫的鍵盤輸入字元串並顯示的程序在輸入字元串時會顯示錯誤

調用INT 21H
功能號0AH,把你統計的數據還需要作一個轉化(將16進制轉化成10進制的ASCII)

5. 我的電腦按鍵出現錯誤了,按刪除鍵會出現/ 按a鍵會自動跑到前面輸入 這個是怎麼回事兒求高手解決問題

鍵盤進水或其它雜物了么?有沒有受到碰撞什麼的?

如不是 則有可能是驅動錯誤或系統受損,考慮重新安裝系統試試。

6. 自己寫了個簡單的匯編程序:從鍵盤輸入一個字元,再把它輸出到顯示器上。 結果錯了,請問高手們應該怎樣改

1.問題
LEA DX,STR2
MOV AH,09H
INT 21H

破壞了AL的值,你白輸入了
2.改進
PUSH AX ;保護AX
LEA DX,STR2
MOV AH,09H
INT 21H

POP AX ;恢復版權AX
就行了

7. 匯編語言輸出輸入的錯誤

dos功能調用9號功能:顯示以ds:dx開始的字元串,當遇到一個$時,結束顯示。樓主程序中,
lea si,aa
add si,5
mov byte ptr [si],'$'
把字元串回中第4個字元改為答:$,致使顯示前3個字元之後,結束顯示,這是導致「只是輸出前3個」的症結所在。把這三條指令的後兩條刪掉即可。

下面,我就從lea si,aa 指令開始,直至顯示完整字元串,給出優化的程序段,指令全部用大寫字元。
LEA SI,aa
MOV CL,[SI+1]
XOR CH,CH
MOV WORD PTR [SI],0D0AH
ADD SI,CX
INC SI
INC SI
MOV BYTE PTR [SI],'$'
MOV AH,9
INT 21H

8. 鍵盤輸入錯誤怎麼辦

解決辦法一:使用組合鍵:Fn+F8,一般來說問題當場解決
解決辦法二:在設備管理器版裡面直接刪除鍵盤,權然後重新啟動
其他情況:電腦輸入設備過多。比如說電腦同時插著滑鼠、鍵盤、U盤、手機數據線,出現干擾情況。解決辦法:拔下這些輸入設備重啟電腦就行了。

9. 匯編語言 鍵盤輸入

黑屏是全黑?還是只把A不顯示?

後者的話,可以考慮把A的前景色變黑

10. 匯編語言!一個關於鍵盤輸入的問題

輸入好像是用DOS21中斷做的,
MOV AH, 9
INT 21H

閱讀全文

與匯編語言用鍵盤輸入錯誤回刪相關的資料

熱點內容
棋牌室空氣凈化器燈怎麼換燈管 瀏覽:421
關於污水知多少的資料 瀏覽:485
飲用水和污水有什麼區別 瀏覽:974
無壓桶凈水器水壓小怎麼改造 瀏覽:418
過濾罐更換濾料工程預算 瀏覽:5
污水泵三孔法蘭尺寸 瀏覽:884
ao污水工藝中的do是什麼意思 瀏覽:568
超濾去cod嗎 瀏覽:478
龔家溝污水 瀏覽:971
碧水源凈水器原廠濾芯有什麼區別 瀏覽:158
力歐凈水器多少錢一台 瀏覽:352
甘肅城鎮污水處理設備哪裡有 瀏覽:819
泥沙凈化器有什麼作用 瀏覽:596
煮粥水垢 瀏覽:1000
噴臉的純凈水什麼牌子好 瀏覽:828
電滲析技術適用什麼污水處理 瀏覽:485
反滲透膜工業純水工藝流程 瀏覽:948
污水池造價10立方多少錢 瀏覽:51
edi電源開關多次跳閘 瀏覽:370
芬頓處理廢水污泥量大概多少 瀏覽:191