欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

汇编语言:汇编程序的hello world程序(实验9根据材料编程)

发布时间:2025/3/15 编程问答 45 豆豆
生活随笔 收集整理的这篇文章主要介绍了 汇编语言:汇编程序的hello world程序(实验9根据材料编程) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

实验介绍

学习每一种编程语言,第一个程序一般都是hello world,一般都是往控制台进行输出。但是学习汇编语言,汇编语言王爽这本书学习了一大半才有了往控制台输出内容。这是教材中的实验9 根据材料编程的实验,在屏幕中间分别显示黑底绿色、绿底红色、白底蓝色的字符串'welcome to masm!'。权且当做汇编语言的hello world的吧

实验结果

先展示运行程序运行结果


实验思路

其实就是往显存里面放数据!一个源数据段,一个目的数据段,一个临时数据段。显示3种不同颜色的字符串,可以用一个loop循环,往显存中放字符串,同样需要一个loop ,所以就要使用loop嵌套循环,使用嵌套循环 那么cx 就要存放到临时数据中。然后就是显示器每行80个字符,每个字符占2个字节,偶数字节存放字符ASCII码值,奇数字节存放显示属性。一定要明确数据在哪里,数据怎么处理,数据放哪里,这3个问题

实验代码

;实验9 编程:在屏幕中间分别显示黑底绿色、绿底红色、白底蓝色的字符串'welcome to masm!' assume cs:codesgdata segmentdb 'welcome to masm!' ;16个字符db 00000010B ;黑底绿字db 00100100B ;绿底红字db 01110010B ;白底绿字 data ends stack segmentdw 0 stack endscodesg segment start:;设置栈段 存放临时数据mov ax,stackmov ss,axmov sp,2;往目的地址->显示器缓存区写东西就可以了mov ax,0B800Hmov es,ax;源地址mov ax,datamov ds,axmov si,16mov di,160*11+160/2-16 ;每页25行,在11~13行进行居中展示。注意一个字符2个字节! mov cx,3showWelcom: push cxmov cx,16mov bx,0;每行80个字符,80个字节,显示属性占80个字节,一行占 160个字节showString:mov al,ds:[bx]mov es:[di],al ;偶数字节 放字符ASCII值mov al,ds:[si] mov es:[di+1],al ;奇数字节 放颜色属性值inc bxadd di,2loop showStringadd di,128add si,1pop cxloop showWelcommov ax,4c00hint 21h codesg ends end start

总结

以上是生活随笔为你收集整理的汇编语言:汇编程序的hello world程序(实验9根据材料编程)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。