知识点
- and指令:逻辑与指令,按位进行与运算。通过该指令可将操作对讲的相应位设为0。
- or指令:逻辑或指令,按位进行或运算。通过该指令,可将操作对象的相应位设为1。
- A的ASCII码是41H,a的ASCII码是61H。换成二进制来看,除了第五位(从0开始计算)外,大写字母和小写字母的其他各位都一样。大写字母ASCII码的第5位为0,小写字母的第5位为1。
- [bx+idata]也可以用来表示一个内存单元,常用格式可以写成 [200+bx]、200[bx]、[bx].200。
- 此外,si和di是和bx功能相近的寄存器,可以用[bx+si]或者[bx+di]来表示地址,常用格式还包括 [bx][si]。
- 更灵活的寻址方式还包括:[bx+si+idata]和[bx+di+idata]。
实验6: 实践课程中的程序
代码
assume cs:codesg, ss:stacksg, ds:datasg
stacksg segment
dw 0,0,0,0,0,0,0,0
stacksg ends
datasg segment
db '1. display '
db '2. brows '
db '3. replace '
db '4. modify '
datasg ends
codesg segment
start:mov ax,stacksg
mov ss,ax
mov sp,16
mov ax,datasg
mov ds,ax
mov bx,0
mov cx,4
s: mov si,3
push cx
mov cx,4
s0: mov al,[bx+si]
and al,11011111b
mov [bx+si],al
inc si
loop s0
pop cx
add bx,16
loop s
mov ax,4c00h
int 21h
codesg ends
end start
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45