关于8086的16位汇编 请大触指点迷津 代码在下方

GeraltCN 2016-05-05 09:23:48
以下代码是为了实现在屏幕输出3个不同样式的hello world 但是无法正常编译
assume cs:write,ds:word

word segment

db 'hello world'
db 00000010B
db 00100100B
db 01110001B

word ends

write segment

start: mov ax,word
mov ds,ax

mov ax,b800h
mov es,ax

mov cx,11
mov bx,0
mov dx,0

s1: mov al,[bx]
mov es:[dx],al
mov es:[dx+160],al
mov es:[dx+320],al

inc bx
add dx,2

loop s1

mov cx,11
mov bx,1

s2: mov al,[11]
mov es:[bx],al
mov al,[12]
mov es:[bx+160],al
mov al,[13]
mov es:[bx+320],al

add bx,2

loop s2

mov ax,4c00h
int 21h

write ends

end start


...全文
709 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2016-05-06
  • 打赏
  • 举报
回复
GeraltCN 2016-05-05
  • 打赏
  • 举报
回复
引用 1 楼 awfifcuihc 的回复:
17行,b800h前加个0吧,十六进制数以字幕为开头的话前面要加 0,这个貌似跟编译器有关, 25,26,27行,dx不能用来寻址 这些是编译器编译失败后有提示的吧
是的 我用批处理编译的没看到错误提示 ,改用bp之后可以了谢谢
awfifcuihc 2016-05-05
  • 打赏
  • 举报
回复
17行,b800h前加个0吧,十六进制数以字幕为开头的话前面要加 0,这个貌似跟编译器有关, 25,26,27行,dx不能用来寻址 这些是编译器编译失败后有提示的吧

21,453

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧