
汇编
zhangzhangkeji
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
汇编王爽老师课本内容总结
原创 2021-12-10 17:04:28 · 237 阅读 · 0 评论 -
汇编王爽课程设计二,详细准确,符合要求
谢谢完成这篇代码前参阅的其它文章。没有别的老师和同学们的指导,就没有这个实验的完成。原创 2021-12-10 16:31:19 · 982 阅读 · 0 评论 -
汇编王爽老师,17.3 ,字符串的输入
本程序的课本排版,并不到位,太多标号,没有缩进,阅读体验呢?而且有些地方有待改进,程序也能正确执行 网上这位大师讲解的很不错。网址是https://blog.youkuaiyun.com/shaco_/article/details/105677400?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_title~default-0.no_search_link&spm=1001.2101.3001.4242.1就是咱c原创 2021-12-01 14:13:06 · 521 阅读 · 0 评论 -
汇编王爽老师,实验16,改变前景色,背景色
这个程序的难点时直接定址表的使用。课本上 table数据标号,在代码移入0000:0200位置后,就会由于编译器的原因,把table处理成一个我们不知道的位置,标号的参考基点的位置发生了变化。参考别人的代码,直接用cs:0202[bx]引用定址表,采用绝对地址。这样也很方便,很容易理解,不再使用 table 标号。assume cs:codecode segmentmain: mov ax,cs mov ds,ax mov si,offset screen;传送的数据源 mov ax,原创 2021-11-30 12:45:00 · 953 阅读 · 0 评论 -
汇编王爽老师,16.3 计算正弦sin值的直接定址表
按照课本程序,并且补充了角度值取到 0 30 60 90 120 150 180 以外值的判断。课本让自己完成,所以就自己构思然后完成了。经过对-10 160 200 150 的验证,程序可以正常输出结果:显示对应的正弦值或显示“angle not right”assume cs:codecode segmentmain: mov ax,-10 call show mov ax,4c00h int 21h show: jmp shgo error db 'angle原创 2021-11-28 11:23:30 · 407 阅读 · 0 评论 -
汇编王爽老师,实验15,按下a,显示满屏的A
assume cs:code,ss:stackstack segment db 128 dup (0)stack endscode segmentmain: mov ax,stack mov ss,ax mov sp,128;栈段 mov ax,cs mov ds,ax mov si,offset int9;源数据段 mov ax,0 mov es,ax mov di,204h;目标段 mov cx,offset int9end - offset int9原创 2021-11-23 17:21:08 · 244 阅读 · 0 评论 -
汇编王爽实验15,按F1更改屏幕字体颜色
assume cs:code,ss:stackstack segment db 128 dup (0)stack endscode segmentmain: mov ax,stack mov ss,ax mov sp,128;栈段 mov ax,cs mov ds,ax mov si,offset int9;源数据段 mov ax,0 mov es,ax mov di,204h;目标段 mov cx,offset int9end - offset int9原创 2021-11-23 17:11:17 · 368 阅读 · 0 评论 -
汇编王爽老师,编写int 9中断例程,用esc键改变字母颜色
第一点要注意的是原int 9例程用 iret 语句返回,从栈里弹出三个数据。我们用call 语句调用int 9 例程,需要也入栈一个寄存器值 pushf,保持对应。 修改中断向量表时,用 cli 和 sti 语句禁用中断,和恢复中断。防止程序出错。assume cs:code,ds:data,ss:stackstack segment db 128 dup (0)stack endsdata segment db 4 dup (0)data endscode segm原创 2021-11-23 16:28:23 · 336 阅读 · 0 评论 -
汇编王爽老师,实验14,读取cmos端口,显示系统实时时间
考虑数据结构,一定形式的数据结构,决定了要采用的算法。因为要显示6个时间数据,本程序以循环为主,依次处理6个数据。主函数调用了以下三个函数: read:从70h 71h端口读取BCD格式的时间值,存入数据段 convert:把数据段BCD码格式的数据转换成ascii码格式 show:把数据段的ascii码表示的时间数据按顺序输出至屏幕。 代码如下,不知道汇编代码该选哪种代码类型,“;”后未注释assume cs:code,ds:datadata segment dw 9,8,7,原创 2021-11-22 22:09:03 · 473 阅读 · 0 评论 -
汇编王爽老师第三版,实验13(3)
第一个程序用来清出来一片干净的屏幕,全部输出空格.assume cs:codecode segmentmain: mov ax,0b800h mov es,ax mov di,0 mov cx,1600 lp: mov byte ptr es:[di],' ' add di,2 loop lp mov ax,4c00h int 21hcode endsend main 下面的代码完成实验3assume cs:codecode segment s1:原创 2021-11-21 20:08:48 · 114 阅读 · 0 评论 -
汇编王爽老师实验12,显示0号除法溢出中断
整个程序不能脱离dosbox,在dosbox中触发中断。本程序的思路是: 先编写0号中断子程序; 在主程序中运用传送方法把中断子程序传送至内存段:1设置传送的起点2设置传送的终点3设置传送的代码段长度4设置传送的方向5rep 启动传送 在主程序中运算1000 除以1 ,触发中断assume cs:codecode segmentmain: mov ax,cs mov ds,ax mov si,offset rupt0;设置传送的起点 mov ax,0 mov es,ax原创 2021-11-20 17:33:37 · 491 阅读 · 2 评论 -
汇编王爽老师,FR寄存器的溢出位OF 与 进位CF的解析,补充SF符号位,cmp与ZF
dosbox里运行debug.exe程序,显示的8位标志寄存器信息如下: OFDFIFSFZFAFPFCFOVDNEINGZRACPECYNVUPDIPLNZNAPONC一向短福零富偶进 最后一行是为了方便记忆,加的一些谐音。自己想的,网上你们有更好的记忆方法么?可以留言分享啊,谢谢啦 源代码来自王老师课本P218页的举例。总结几句话为: 如果寄存器里算术运算视为无符号运算,未发生溢出结果正确,则原创 2021-11-19 10:38:55 · 1827 阅读 · 0 评论 -
王爽老师汇编第三版课程设计 一
该课程设计是在屏幕输出公司21年的详细信息,包括年份、当年总收入、当年人数、当年的人均收入(这个需要运用除法运算)。 显示总收入需要解决除法溢出的问题,改进除法运算,见课本王老师的附录讲解 一开始我也是看别人文章,跟别人学习怎么让程序处理数据,怎么定义数据段,然后才有了这个程序assume cs:code,ds:datadata segment db '1975','1976','1977','1978','1979';偏移量bx db '1980','1981','1982','19原创 2021-11-17 17:04:30 · 451 阅读 · 0 评论 -
汇编语言,masm5.0中的编译与debug编译的区别之处,王爽老师
在debug中:mov ax,11 把11H送入寄存器axmov bx,[11] 把偏移地址为11H的内存中的内容写入axdebug中只可以输入16进制数据在masm的编译中mov ax,11 把11或BH送入寄存器ax(默认输入10进制)mov ax,[11] 把BH送入寄存器ax,同上;若要表示处理内存,必须显式给出段地址mov ax,ds:11 或mov ax,ds:[11] 均表示从偏移地址11的内存处写入ax或者偏移地址由另一个寄存原创 2021-11-06 18:50:01 · 331 阅读 · 0 评论