|
主题 : : 关于实验六的问题 检错 [待解决] |
回复[ 7次 ]
点击[ 421次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2011-05-19 18:47 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-03-31 14:37 |
assume cs:codesg,ss:stacksg,ds:datasg
stacksg: segment
dw 0,0,0,0,0,0,0,0
stacksg ends
datasg segment
db '1. dispaly '
db '2. brows '
db '3. replace '
db '4. modify '
datasg ends
codesg sement
start: mov ax,stacksg
mov ss,ax
mov sp,16
mov ax,datasg
mov ds,ax
mov bx,0
mov cx,4
s0:mov push cx
mov ax,0
mov cx,4
mov si,0
s :mov al,[bx+si+3]
and al,11011111b
mov [bx+si+3],al
inc si
loop s
add bx,16
pop cx
loop s0
mov ax,4c00h
int 21h
codesg ends
end start | | |
|
|
|
|
[第1楼]
[ 回复时间:2011-05-23 19:41 ]
[引用]
[回复]
[ top ] | |
荣誉值:8
信誉值:0
注册日期:2010-11-07 17:01 |
stacksg: segment
codesg sement
mov push cx
一共有以上三处错误,下面是正确的程序,望楼主加强自己的调试能力,要细心点,首先要保证自己的大的框架是正确的。
assume cs:codesg,ss:stacksg,ds:datasg
stacksg segment ; stacksg: segment
dw 0,0,0,0,0,0,0,0
stacksg ends
datasg segment
db '1. dispaly '
db '2. brows '
db '3. replace '
db '4. modify '
datasg ends
codesg segment ; codesg sement
start: mov ax,stacksg
mov ss,ax
mov sp,16
mov ax,datasg
mov ds,ax
mov bx,0
mov cx,4
s0:push cx ;mov push cx
mov ax,0
mov cx,4
mov si,0
s :mov al,[bx+si+3]
and al,11011111b
mov [bx+si+3],al
inc si
loop s
add bx,16
pop cx
loop s0
mov ax,4c00h
int 21h
codesg ends
end start | | |
|
|
|
|
[第2楼]
[ 回复时间:2011-05-26 21:17 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-03-31 14:37 |
|
|
|
|
|
[第3楼]
[ 回复时间:2011-05-26 22:43 ]
[引用]
[回复]
[ top ] | |
荣誉值:8
信誉值:0
注册日期:2010-11-07 17:01 |
|
|
|
|
|
[第4楼]
[ 回复时间:2011-06-22 07:59 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-06-23 09:27 |
mov ax,0 请问这句有必要写吗??个人觉得不必要,新手,请赐教 | | |
|
|
|
|
[第5楼]
[ 回复时间:2011-07-08 17:50 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-06-30 21:52 |
回复:[第4楼]
------------------
可以不用写这句。(新手观点,不太清楚会不会有问题,如有不对,请指出)
因为本例中用不着AX寄存器,而al只是暂时用来与运算,把第五位换成零(换成大写)
所以可以不用初始化AX。 | | |
|
|
|
|
[第6楼]
[ 回复时间:2011-07-12 23:27 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-07-06 20:24 |
同意mov ax,0不必要。 LZ没有编译器么- -。太囧了。。 | | |
|
|
|
|
[第7楼]
[ 回复时间:2011-07-13 01:23 ]
[引用]
[回复]
[ top ] | |
荣誉值:118
信誉值:0
注册日期:2011-07-07 22:59 |
请问楼主,mov al,[bx+si+3]是什么,为什么要加3呢?还有下面的add bx,16 为什么要加22呢,怎么算出来的,我看每句字符串的字母不一样多呀 | | |