在鍵盤輸入乙個字串,並將其從左向右滾動顯示,求完整程式。
做而論道編寫的程式如下:
assume cs:code, ds:data
data segment
msg1 db 13, 10, 'please input string: ', 13, 10, '$'
in_max db 18
in_n db ?
in_buf db 20 dup(?)
msg2 db 90 dup('$')
data ends
code segment
start:
mov ax, data
mov ds, ax
;---------------------------
lea dx, msg1
mov ah, 9
int 21h
lea dx, in_max
mov ah, 10
int 21h
cmp in_n, 0
jz exit
;---------------------------
right:
mov si, 0
mov di, 0
mov msg2[bx - 1], ' '
add di, bx
call up_disp
lea dx, msg2
mov ah, 9
int 21h
mov ah, 2
mov dl, 13
int 21h
inc bx
call delay
cmp di, 80
jnz right
;---------------------------
exit:
mov ah, 4ch
int 21h
;---------------------------
up_disp:
mov ch, 0
mov cl, in_n
lp1:
mov al, in_buf[si]
mov msg2[di], al
inc si
inc di
cmp di, 80
jz exit_up
loop lp1
exit_up:
ret;---------------------------
delay:
push cx
push dx
mov dx, 1000
dl1:
loop $
dec dx
cmp dx, 0
jnz dl1
pop dx
pop cx
ret;---------------------------
code ends
end start
經過實驗,本程式可以滿足題目要求。
80x86 組合語言 鍵入字串,然後存檔
本程式將在d 盤根目錄下建立乙個檔案 test.txt 該檔案內容,完全由你自己鍵入 dseg segment pathnm1 db d test.txt 0 須以0結尾 file n1 dw buff nn db 200,buffer db 200 dup msg1 db please input...
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 暫存器定址方式 暫存器定址...