用80x86組合語言程式設計 統計輸入的字元個數

2021-07-09 14:59:50 字數 1655 閱讀 4664

用組合語言試編寫程式:從鍵盤輸入字元,以回車結束。統計輸入的字元個數,並顯示輸入的字元和字元個數。

10分鐘能行嗎?盡快吧。

| 2011-12-13 09:30 | 懸賞分:20

;*********************************************

最佳答案:

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

datas segment

in_1 db  100

n1   db  ?

buff db  100 dup('$')

msg1 db  10, 13, 'please  input str : $'

msg2 db  10, 13, 'the  str  long is : $'

crlf db  10, 13, '$'

datas ends

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

codes segment

assume cs:codes, ds:datas

start:

mov  ax, datas

mov  ds, ax

mov  dx, offset msg1   ;提示輸入.

mov  ah, 09h

int  21h

mov  dx, offset in_1   ;接收鍵盤輸入.

mov  ah, 0ah

int  21h

mov  dx, offset crlf   ;回車換行.

mov  ah, 09h

int  21h

mov  dx, offset buff   ;輸出原字串.

mov  ah, 09h

int  21h

mov  dx, offset msg2   ;提示長度.

mov  ah, 09h

int  21h

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

mov  al, n1

mov  bl, 10

mov  cx, 0

l1:mov  ah, 0

div  bl

push ax

inc  cx

and  al, al

jnz  l1

l2:pop  dx

mov  dl, dh

add  dl, 48

mov  ah, 2

int  21h

loop l2

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

mov  ah, 4ch

int  21h

codes  ends

end start

;*********************************************

程式執行後,顯示如下:

c:\masm>i_o

please  input str : slk09rmds;cv9u(u*)(

slk09rmds;cv9u(u*)(

the  str  long is : 19

原題**:

;*********************************************

80x86組合語言 分類統計

組合語言的程式設計題!急 有100個學生成績,存放在以data為首址的位元組儲存單元中。試統計其中90 含90 以上的人數,60 90 含60 之間的人數,60以下的人數,分別存入max,middle,min三個變數中。15 分鐘前 做而論道 十七級 最快回答 assume ds qq,cs cc ...

用80x86組合語言程式設計 鍵盤輸入與顯示輸出

要求 從鍵盤輸入一行字元,要求第乙個鍵入的字元必須是空格,不是,就退出。如果是的話,開始接收字元並存放在首位址buffer的緩衝區內,直到接收到第二個空格時結束。然後輸出這個字串。懸賞分 15 下列程式,經過檢驗,符合條件要求。data segment buffer db 80 dup data e...

組合語言 80x86定址方式

1 立即定址方式 立即定址方式中指令的運算元是8位或16位立即數,並直接出現在指令中。例如 mov al,10h 源運算元為立即定址 執行後al 10h mov ax,0a48h 源運算元為立即定址 執行後ax 0a48h 立即定址只能用於源運算元,不能用於目的運算元。2 暫存器定址方式 暫存器定址...