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

2021-07-09 14:58:48 字數 1243 閱讀 6054

要求:從鍵盤輸入一行字元,要求第乙個鍵入的字元必須是空格,不是,就退出。

如果是的話,開始接收字元並存放在首位址buffer的緩衝區內,直到接收到第二個空格時結束。

然後輸出這個字串。

懸賞分:15 

;****************************************===

下列程式,經過檢驗,符合條件要求。

data segment

buffer  db 80 dup(?)

data ends

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

code segment

assume cs:code, ds:data

start:

mov  ax,  data

mov  ds,  ax

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

mov  bx, offset buffer

mov  ah, 1

int  21h

cmp  al, ' '  ;和空格相比較.

jnz  exit     ;不相等就退出.

next:

mov  ah, 1

int  21h

cmp  al, ' '  ;和空格相比較.

jz   out_all  ;相等就輸出全部.

mov  [bx], al ;否則就儲存.

inc  bx

jmp next

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

out_all:

mov  dl, 13   ;回車.

mov  ah, 2

int  21h

mov  dl, 10   ;換行.

mov  ah, 2

int  21h

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

mov  byte ptr [bx], '$' ;在末尾添上$

mov  ah, 9              ;輸出字串.

mov  dx, offset buffer

int  21h

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

exit:

mov  ax, 4c00h

int  21h

code ends

end start 

;****************************************===

原題**:

80x86組合語言 分類統計

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

組合語言 80x86定址方式

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

80x86組合語言程式設計P50

386 stack segment use32 db 200 dup 0 stack ends con equ 500 data segment use16 a dw m buf db ab 0dh,0ah b dw 0ffaah d dd buf m db 2 dup 1 2 dup 2,b 12...