新学汇编,int 21h求助 ,8086 16位汇编
时间:2011-03-08
来源:互联网
Assembly code
上述代码的目的是拷贝buffA到bufferB,并将bufferB中的字符输出。
两个问题:
1. 上述代码第一次汇编后执行输出一堆乱码,之后执行无任何输出。
2. 使用重定向命令可看到输出,汇编后可执行文件为 asm.exe , 则asm.exe > t.txt命令后,txt文件有输出,输出内容为
Invalid keyboard code specified
a
b
c
d
e
f
g
本来是不想输出回车的,之前以为是未“刷新”输出缓冲区的问题,但是输出回车后依然没变化。
新学汇编,诸位不要见笑
stack segment stack db 200 dup(0) stack ends data segment bufA db 'abcdefg' bufB db 20 dup(0) data ends code segment assume cs:code , ds:data , ss:stack START: mov ax , data mov ds , ax mov cx , 7 lea si , bufA lea di , bufB L: mov ax , [si] mov [di] , ax inc di inc si dec cx jne L mov cx , 7 lea di , bufB WRITE: mov dl , [di] mov ah , 2h int 21h mov dl,0ah mov ah , 2h int 21h inc di dec cx jne WRITE code ends end START
上述代码的目的是拷贝buffA到bufferB,并将bufferB中的字符输出。
两个问题:
1. 上述代码第一次汇编后执行输出一堆乱码,之后执行无任何输出。
2. 使用重定向命令可看到输出,汇编后可执行文件为 asm.exe , 则asm.exe > t.txt命令后,txt文件有输出,输出内容为
Invalid keyboard code specified
a
b
c
d
e
f
g
本来是不想输出回车的,之前以为是未“刷新”输出缓冲区的问题,但是输出回车后依然没变化。
新学汇编,诸位不要见笑
作者: wushichao1987 发布时间: 2011-03-08
loop循环自动递减CX的值, 不需要你手工dec的。
Assembly code
Assembly code
start: mov ax,data mov ds,ax mov cx,7 lea si,bufA lea di,bufB L: mov al,[si] mov [di],al inc si inc di loop L mov cx,7 mov ah,2 lea si,bufB Write: mov dl,[si] int 21h inc si loop Write
作者: masmaster 发布时间: 2011-03-08
如果要显示有回车效果可以加个打印回车符就可以啦
Assembly code
Assembly code
Write: mov dl,[si] int 21h mov dl,0dh int 21h inc si loop Write
作者: masmaster 发布时间: 2011-03-08
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28