汇编程序中建立三个缓冲区的数据段设置问题?
要从键盘输入三个字符串,先在程序数据定义部分定义三个缓冲区BUFFERA,BUFFERB,BUFFERC,
DATA SEGMENT
BUFFERA DB 32
DB 0
DB 32 DUP(0)
BUFFERB DB 81
DB 0
DB 81 DUP(0)
BUFFERC DB 32
DB 0
DB 32 DUP(0)
PROMPTSTRINGA DB 'input A string:',0AH,0DH,'$'
PROMPTSTRINGB DB 'input B string:',0AH,0DH,'$'
PROMPTSTRINGC DB 'input c string ',0AH,0DH,'$'
PROMPTSTRINGENTER DB 0AH,0DH,'$'
……
在字符串输入部分:
…………
MOV DX,OFFSET PROMPTSTRINGA
MOV AH,09H
INT 21H
MOV DX,SEG BUFFERA
MOV DS,DX
MOV DX,OFFSET BUFFERA
MOV AH,0AH
INT 21H
MOV DX,OFFSET PROMPTSTRINGENTER
MOV AH,09H
INT 21H
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOV DX,OFFSET PROMPTSTRINGB
MOV AH,09H
INT 21H
MOV DX,SEG BUFFERB
MOV ES,DX
MOV DX,OFFSET BUFFERB
MOV AH,0AH
INT 21H
MOV DX,OFFSET PROMPTSTRINGENTER
MOV AH,09H
INT 21H
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOV DX,OFFSET PROMPTSTRINGC
MOV AH,09H
INT 21H
MOV DX,SEG BUFFERC
MOV **,DX ;这个**该填什么?
MOV DX,OFFSET BUFFERC
MOV AH,0AH
INT 21H
MOV DX,OFFSET PROMPTSTRINGENTER
MOV AH,09H
INT 21H
前连个缓冲区的数据段分别设置为DS,ES,那该如何设置第三个缓冲区的数据段呢?
DATA SEGMENT
BUFFERA DB 32
DB 0
DB 32 DUP(0)
BUFFERB DB 81
DB 0
DB 81 DUP(0)
BUFFERC DB 32
DB 0
DB 32 DUP(0)
PROMPTSTRINGA DB 'input A string:',0AH,0DH,'$'
PROMPTSTRINGB DB 'input B string:',0AH,0DH,'$'
PROMPTSTRINGC DB 'input c string ',0AH,0DH,'$'
PROMPTSTRINGENTER DB 0AH,0DH,'$'
……
在字符串输入部分:
…………
MOV DX,OFFSET PROMPTSTRINGA
MOV AH,09H
INT 21H
MOV DX,SEG BUFFERA
MOV DS,DX
MOV DX,OFFSET BUFFERA
MOV AH,0AH
INT 21H
MOV DX,OFFSET PROMPTSTRINGENTER
MOV AH,09H
INT 21H
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOV DX,OFFSET PROMPTSTRINGB
MOV AH,09H
INT 21H
MOV DX,SEG BUFFERB
MOV ES,DX
MOV DX,OFFSET BUFFERB
MOV AH,0AH
INT 21H
MOV DX,OFFSET PROMPTSTRINGENTER
MOV AH,09H
INT 21H
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOV DX,OFFSET PROMPTSTRINGC
MOV AH,09H
INT 21H
MOV DX,SEG BUFFERC
MOV **,DX ;这个**该填什么?
MOV DX,OFFSET BUFFERC
MOV AH,0AH
INT 21H
MOV DX,OFFSET PROMPTSTRINGENTER
MOV AH,09H
INT 21H
前连个缓冲区的数据段分别设置为DS,ES,那该如何设置第三个缓冲区的数据段呢?
...全文
相关推荐
汇编程序DOSBox实验1.doc
- `mov ax, data` 和 `mov ds, ax` 用于设置数据段寄存器DS,以便访问数据段中的变量。
10进制转16进制汇编程序.pdf
`AH`寄存器设置为0AH,表示读取字符串功能,`DX`寄存器指向缓冲区`BUF`的起始地址,用于存放输入的数字字符串。3.
斐波那契数(fibonacci汇编程序)
### 汇编程序解析#### 1. 数据段定义 (Data Segment)- `BUF`: 用户输入的缓冲区,用于接收用户的输入值。- `BUF1`: 临时缓冲区。
汇编程序编写和提高.doc
`START`标签作为程序的入口点,初始化DS寄存器以指向数据段。5. 使用`lea si,buf`装载缓冲区的地址到SI寄存器,准备读取用户输入。6.
用户登录系统 汇编程序
总结此汇编程序实现了一个简单的用户登录系统,通过宏定义、数据段和代码段的设计,实现了用户输入的接收与处理、字符串比较等功能。


