組合語言 從鍵盤輸入有符號十進位制數的子程式

2021-09-26 13:23:26 字數 1483 閱讀 2604

data segment

count =0ah

array dw count dup(0)

over db 『read over』,』$』

data ends

code segment;

assume cs:code,ds:data

start: mov ax,data

mov ds,ax

xor ax,ax

mov cx,0ah

mov bx,offset array

again: call read

mov [bx],ax

inc bx

inc bx

call dpcrlf

loop again

mov dx,offset over

mov ah,09h

int 21h

mov ah,4ch

int 21h

read proc

push bx

push cx

push dx

xor bx,bx

xor cx,cx

mov ah,01h;al=輸入字元的ascii碼

int 21h

cmp al,』+』

jz read1

cmp al,』-『

jnz read2

mov cx,-1

read1: mov ah,01h;read1 再次輸入

int 21h

read2: cmp al,』0』;判斷輸入的是否為0-9,是就乘以十,不是則輸入結束

jb read3

cmp al,』9』

ja read3

sub al,30h

shl bx,1

mov dx,bx

shl bx,1

shl bx,1

add bx,dx

mov ah,0

add bx,ax

jmp read1;繼續輸入字元

read3: cmp cx,0

jz read4

neg bx

read4: mov ax,bx

pop dx

pop cx

pop bx

retread endp

dpcrlf proc;使游標回車換行

賞 謝謝你請我吃糖

組合語言實現顯示鍵盤輸入十進位制數字

一 實現 如下 data segment 資料段 org 2000h res db 5 dup 定義res變數 db data ends code segment 段 assume cs code,ds data start mov ax,data 設定資料段 mov ds,ax mov di,20...

組合語言 十進位制輸入輸出

model small stack 100h data string db please input a munber s dw 0 sur dw 0 code start mov ax,data mov ds,ax mov dx,offset string 輸出字串string mov ah,09...

組合語言程式設計 螢幕顯示和鍵盤輸入

在組合語言中,凡是涉及到鍵盤輸入 螢幕顯示等輸入輸出操作,都可以用軟體中斷指令int n的功能呼叫來實現。所謂功能呼叫是計算機系統設計的簡單 i o 子程式,能方便地訪問系統的硬體資源。在微機系統中,功能呼叫分兩個層次,最底層的是 bios 功能呼叫,其次是 dos 功能呼叫,它們都是通過軟體中斷指...