80x86組合語言 字串移動

2021-07-09 15:03:00 字數 1581 閱讀 9184

在鍵盤輸入乙個字串,並將其從左向右滾動顯示,求完整程式。

做而論道編寫的程式如下:

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 暫存器定址方式 暫存器定址...