- 博客(42)
- 资源 (138)
- 收藏
- 关注
原创 汇编程序:哆瑞米发商拉西
【任务】 编一个程序,让计算机演奏出七个不同音高的音符【参考解答】assume cs:codesegdata segment dw 262,294,330,349,392,440,494,524codeseg segmentstart: mov ax, data mov ds, ax mov si, 0 mov bl,8play:
2017-05-28 21:50:37 2521 2
原创 汇编程序:这是一个假游戏
【任务】 编写程序,模仿射击游戏中,用上、下、左、右键控制跳上、跳下、装子弹、射击的动作,ESC键退出游戏。 运行结果如图: 请在下面程序基础上,补全代码段:assume cs:code, ss:stack, ds: datastack segment db 256 dup (0)stack endsdata segment dw 0,0 run
2017-05-28 21:10:45 2254
原创 汇编程序:显示时间中响应键盘中断
【任务】 在屏幕的左上角动态显示时间,期间,按下Home键后,能显示”Home”,按下End键后,退出程序。【参考解答】assume cs:codestack segment db 128 dup (0)stack endsdata segment dw 0,0home db 'Home',0dh,0ah,'$'data endscode segmentstart:
2017-05-28 17:38:43 3496 1
原创 汇编程序:显示时间(分秒)
【任务】 编程序,访问CMOS RAM,在屏幕最左上角,动态显示当前分、秒。 【参考程序】assume cs:codecode segmentstart:mov al,2 ;分 out 70h,al in al,71h mov ah,al mov cl,4 shr ah,cl and al,00001111
2017-05-27 22:27:25 4796
原创 汇编程序:输数字,出字母
【任务】输入1-9的数字,以其作为序号,输出对应的字母。例如,输入1,输出a;而输入4,输出d【参考解答】assume cs:codecode segment string db 'abcdefghij'start: mov ah,01 ;从键盘输入字符1~9 int 21h and al,0fh dec al mov ah,0 mov b
2017-05-27 22:16:40 2821
原创 这五年,“IT学子成长指导”专栏与你同行
【想说的话】 近年来,各种评比,要拉票,没大着意。不想操心,不想费人事。记得最近一次的拉票是“2013博客之星”,那时,被前院长压制着,我需要一个民间的奖项,让我能坚持下去。 昨天收到通知,CSDN组织“十佳专栏”评选,我的“IT学子成长指导”专栏是候选。本来应该嘛,这么特色的专栏。我决定认真对待一下了。是我开展义务大学生学业指导的开始,《逆袭大学——传给IT学子正能量》中的素材来自于此
2017-05-22 05:49:42 2021 2
原创 汇编程序:创建文本文件
【任务】 编程序,将一段文字保存到文件中 【参考解答】(未考虑友好的界面,可在此基础上拓展)assume cs:code, ds:data; ss:stackstack segment db 100H dup (?)stack endsdata segment filename db 'a.txt',0 text db 'I am so happy
2017-05-18 12:01:55 5493 2
原创 汇编程序:输出对应的英文单词
【任务】 击键盘上的一个数字键,输入0退出,其他显示对应的单词 【参考解答】assume cs:code, ss:stackstack segment db 100H dup (?)stack endscode segmentstart: jmp beg digittab dw zero,one,two,three,four,five,six,seven,
2017-05-18 11:09:18 2417
原创 中断体验:观察自定义中断的安装及触发
【说明】中断机制是一种重要的解决问题的手段。针对初学者不能对中断的相关技术有直观的认识,特设计了这个学习活动。【知识准备】中断向量表;中断处理过程;中断安装程序【体验步骤】 步骤1 自定义78h号中断的中断处理例程,并将其安装到内存中;文件名: ptest.asmassume cs:codecode segmentstart:mov ax,cs mov ds,ax m
2017-05-18 08:39:27 1691
原创 汇编语言程序设计VI-贺利坚-专题视频课程
汇编语言是一门低级程序设计语言,在数以千计的计算机语言中,有着不可替代的重要地位,广泛地用于开发操作系统内核、设备驱动程序等。随着近年来物联网、嵌入式系统的发展,汇编语言在行业中的地位也再次攀升,在2017年1月的TIOBE排行榜上,再次进入前十。对大多数学习计算机的人士而言,是理解计算机系统核心知识的一个桥梁,在人才培养中也起着特殊的作用。课程面向计算机初学者,介绍汇编语言程序设计基础的部分。...
2017-05-17 14:25:33 679
原创 让计算机“唱歌”(1704)
本文为《汇编语言程序设计》1704小节例程。点击链接…进课程主页。任务:编程序,让计算机“唱”歌曲《新年好》 程序:assume cs:codeseg, ds:dataseg, ss:stacksegdataseg segmentmus_freq dw 262,262,262,196 dw 330,330,330,262 dw 262,330,392,392
2017-05-17 05:41:37 2970
原创 应用:字符串的输入(1702)
本文为《汇编语言程序设计》1702小节例程。点击链接…进课程主页。任务:(见程序中注释) 程序:;最基本的字符串输入程序,需要具备下面的功能:;(1)在输入的同时需要显示这个字符串;;(2)一般在输入回车符后,字符串输入结束;;(3)能够删除已经输入的字符。;编写一个接收字符串的输入子程序,实现上面三个基本功能。;因为在输入的过程中需要显示,子程序的参数如下:; (dh)、(
2017-05-17 05:31:40 1379
原创 用中断响应外设(1701)
本文为《汇编语言程序设计》1701小节例程。点击链接…进课程主页。任务:接收用户的键盘输入,输入“r”,将屏幕上的字符设置为红色:输入“g”,将屏幕上的字符设置为绿色;输入“b ”,将屏幕上的字符设置为蓝色。 程序:assume cs:codecode segmentstart: mov ah,0 int 16h mov ah,1
2017-05-17 05:29:30 1174
原创 改写中断例程的方法(1504)
本文为《汇编语言程序设计》1504小节例程。点击链接…进课程主页。任务:安装一个新的int 9中断例程 功能:在DOS下,按F1键后改变当前屏幕的显示颜色,其他的键照常处理。 程序:assume cs:codestack segment db 128 dup (0)stack endscode segmentstart: ; 设置各段地址 mov ax,st
2017-05-17 05:27:17 1407 2
原创 定制键盘输入处理(1503)
本文为《汇编语言程序设计》1503小节例程。点击链接…进课程主页。任务:在屏幕中间依次显示 ‘a’~’z’ ,并可以让人看清,在显示的过程中,按下Esc键后,改变显示的颜色。 程序: v0.2assume cs:codecode segmentstart: mov ax,0b800h mov es,ax mov ah,'a'
2017-05-17 05:25:25 1188 1
原创 操作CMOS RAM芯片(1403)
本文为《汇编语言程序设计》1403小节例程。点击链接…进课程主页。任务:读取CMOS中信息,在屏幕中间显示当前的月份 程序:assume cs:codecode segmentstart:mov al,8 out 70h,al in al,71h mov ah,al mov cl,4 shr ah,cl and al,00
2017-05-17 05:21:25 1199
原创 端口的读写(1402)
本文为《汇编语言程序设计》1402小节例程。点击链接…进课程主页。任务:访问61端口发声 程序:assume cs:codesegcodeseg segmentstart: mov al, 08h ;设置声音的频率 out 42h, al out 42h, al in al, 61h
2017-05-17 05:19:18 1367
原创 汇编程序:求最大数
【任务】求最大数 在BUFFER处给出了多个无符号数,请找出其中的最大值,放至MAX指定的存储单元中。data segment buffer dw 35098, 17758, 54582, 61504, 46054, 58513, 4409, 7902, 14255 dw 40623, 47645, 15575, 51572, 18110, 26511, 14880,
2017-05-14 07:12:09 8358
原创 汇编程序:简单的菜单
【任务】编制一个菜单程序,在屏幕上显示如下信息: MENU 1. FILE 2. EDIT' 3. COMPILE' 4. RUN' 0. QUIT' please choose one of 0~4:','$'选择1-4时,执行相应功能(简单起见,输出一句话即可),选
2017-05-13 21:49:24 4746
原创 汇编程序:查表求平方
【任务】设在内存单元SQTAB首址开始存放了0~15的平方数表。要求用直接查表法编一程序,求出A单元中给定数(<=15)的平方值送B单元保存。【参考解答1】assume cs: code, ds: datadata segment sqtab db 0, 1, 4, 9, 16, 25, 36, 49, 64, 81 db 100, 121, 144, 169, 196,
2017-05-13 09:42:58 14325 4
原创 汇编程序:查表法找ASCII
【任务】用查表法输出16进制数的各个符号 (本任务旨在演示lodsb、stosb串传送指令,以及xlat查表指令)【参考解答】assume cs:coseg,ds:table,ss:stack,es:tabletable segmenttab_da db 30h,31h,32h,33h,34h,35h,36h,37h,38h,39h db 41h,42h,43h
2017-05-13 09:14:42 4962
原创 汇编程序:递归求年龄
【任务】有n个人坐在一起,第n个人比第n-1个人大h岁。第n-1个人比第n-2个人大h岁。以此类推,第2个人比第1个人大h岁。第1个人m岁。请问第n个人多大。用递归调用的方法设计程序完成题目。 【参考解答】assume cs:code, ds:data, ss:sstackdata segment n db 10 ;人数 m db 7 ;第1个人年龄 h db
2017-05-13 08:55:32 2515
原创 汇编程序:32位无符号数乘法
【任务】用十六位乘法指令完成三十二位无符号数乘法(结果64位),数据用下面的内存单元提供:ddata segment x1 dw 5678H x2 dw 1234H y1 dw 0DEF0H y2 dw 9ABCH xy dw 4 dup (?)ddata ends其中,被乘数x=((x2)*2^16)+(x1),即x2是高16位,x1是
2017-05-13 08:15:47 16558 12
原创 BIOS和DOS中断处理(1302)
本文为《汇编语言程序设计》1302小节例程。点击链接…进课程主页。任务:在屏幕的5行12列显示3个红底高亮闪烁绿色的’a’ 程序:assume cs:codecode segment mov ah,2 ;置光标功能 mov bh,0 ;第0页 mov dh,5 ;dh中放行号 mov dl,
2017-05-12 22:25:14 1211
原创 由int指令引发的中断(1301)
本文为《汇编语言程序设计》1301小节例程。点击链接…进课程主页。示例1:中断7ch的中断例程的编写和安装 任务:编写程序,写7ch的中断例程,完成特定任务 功能:求一个word型数据的平方 参数: (ax)=要计算的数据 返回值:dx, ax中存放结果的高、低16位 程序实现assume cs:codecode segmentstart:mov ax,cs mov d
2017-05-12 22:20:18 1588
原创 编制中断处理程序(1202)
本文为《汇编语言程序设计》1202小节例程。点击链接…进课程主页。任务:编写一个0号中断处理程序,它的功能是在屏幕中间显示“overflow!”后,然后返回到操作系统。 程序: assume cs:code code segment start: ; do0安装程序 mov ax,cs mov ds,ax mov si,offset do0 mov ax,0
2017-05-12 22:13:19 1406
原创 中断及其处理(1201)
本文为《汇编语言程序设计》1201小节例程。点击链接…进课程主页。任务:利用中断在屏幕上显示字符串assume cs:codesg, ss:stacksg, ds:datasgstacksg segment db 200h dup (0)stacksg endsdatasg segment szmsg db 13,10,'hello world!',13,10,'$'da
2017-05-12 22:05:45 1071
原创 代码的直接定址表(1604)
本文为《汇编语言程序设计》1604小节例程。点击链接…进课程主页。任务:编程实现一个子程序setscreen,为显示输出提供如下功能: (1) 清屏。 (2) 设置前景色。 (3) 设置背景色。 (4) 向上滚动一行。assume cs:codecode segmentstart: mov ah, 3 mov al, 5 call setscreen mo
2017-05-12 21:57:43 1110
原创 数据的直接定址表(1603)
本文为《汇编语言程序设计》1603小节例程。点击链接…进课程主页。问题:以十六进制的形式在屏幕中间显示给定的byte 型数据。 分析:先将一个byte的高4位和低4 位分开,显示对应的数码字符最简解决方案:最简方案:建立一张表,表中依次存储字符’0’~’F’,通过数值0~15直接查找到对应的字符。 程序:assume cs:codecode segmentstart: mov al,12h
2017-05-12 21:54:40 1337
原创 描述内存单元的标号(1602)
本文为《汇编语言程序设计》1602小节例程。点击链接…进课程主页。知识点:代码段用标号 例:求2^8assume cs:codecode segmentstart :mov ax, 1 mov cx,8 s : add ax, ax loop s mov ax,4c00h int 21hcode endsend
2017-05-12 21:49:44 1056
原创 操作显存数据(1601)
本文为《汇编语言程序设计》1102小节例程。点击链接…进课程主页。任务:显示信息的一种“直接”方式——例:编程序,在屏幕的中间,白底蓝字,显示‘Welcome to masm!’ 程序:assume cs:codeseg, ds:datasgdatasg segment db 'welcome to masm!'datasg endscodeseg segmentstart:; 初始
2017-05-12 21:43:43 2146 1
原创 汇编程序:多数绝对值和
【任务】在BUF1和BUF2两个数据区中,各定义有10个带符号字数据,试编制一完整的源程序,求它们对应项的绝对值之和,并将和数存入以SUM为首址的数据区中。data segment buf1 dw -56, 24, 54, -1, 89, -8, 87, -32, 23, 45 buf2 dw 45, -23, 124, 345, -265, -214, 0, 48, -10, -12
2017-05-12 21:22:14 4763 1
原创 汇编程序:成绩分段统计
【任务】 内存自BUF单元开始的缓冲区连续存放着100个学生的英文分数,编程序统计其中90~100、60~89、60以下者各有多少人?并把结果连续存放到自RESUT开始的单元中。要求用字符串指令, 各段定义完整。【参考解答】assume ds:data, ss:stack, cs:code data segment buf db 85, 72, 79, 90, 79, 54, 63, 6
2017-05-12 21:03:15 7193
原创 汇编程序:批量复制并显示字符
【任务】定义一个数据区, 它包含有’ABCD’四个字符数据, 把这个数据区复制20次, 并显示出复制结果。(要求用字符串指令)data segment pattern db 'ABCD' display db 80 dup(' '), '$'data ends【参考解答】assume cs:code,ds:datadata segment pattern db 'ABCD' dis
2017-05-12 17:22:20 1072
原创 汇编程序:统计数据个数
【任务】编程序,统计数组array中负数的个数, 并存入count单元中。data segment array db -1, 0, 3, -6, 7, 23, 0, -50, 3, 1 count db ?data ends【参考解答】assume cs:code,ds:datadata segment array db -1, 0, 3, -6, 7, 23, 0, -
2017-05-12 16:55:08 5355 3
原创 汇编程序:双字运算
【任务】编程计算:W=X+Y+36-Z 说明:X、Y、Z、W均为双字长数据,各自的低十六位数和高十六位数分别存放在X、X+2、Y、Y+2、Z、Z+2的存储单元中,结果的低十六位字和高十六位字分别存放在W和W+2两个单元中。data segment x dd … y dd … z dd … w dd …data ends【参考解答】assum
2017-05-12 16:44:10 7985 2
原创 汇编程序:统计0的个数
【任务】 编程统计da1字单元中含0的个数,如统计的个数为奇数,则将进位位置1,否则进位位清0。data segment da1 dw ....data ends【参考解答】assume cs:code,ds:datadata segment da1 dw 2,3,0,1,4,2,0,3,0,5,7,1,1,0,8,9data endscode segments
2017-05-12 16:22:51 8847 4
原创 汇编程序:植入程序的程序(二)
【任务】用串传送指令,将beg_copy到end_copy的代码复制到0:200H处assume cs:codesegcodeseg segmentstart: ...beg_copy: mov ax, 0 add ax, ax waitend_copy: nopcodeseg endsend start【说明】此任务在植入程序的程序中已经给出一种解决方案
2017-05-12 16:10:44 1095
原创 汇编程序:找出最小值
【任务】编一个子程序,在16个字节型数据中找出最小值,存放于y处assume cs:code,ds:datadata segment x db 5, 6, 7, 8, 16, 4, 7, 12, 1, 9, 45, 23, 13, 20, 15, 11 y db ?data endscode segment ……code ends end star
2017-05-12 15:51:35 5808 3
原创 汇编程序:计算分段函数
【任务】 补全下面的程序,其功能是计算y的值 assume cs:code,ds:datadata segment x db 45h y db ?data endscode segmentstart:mov ax,data mov ds,ax mov al,x …… ……over: mov y,bl mo
2017-05-12 15:49:05 9974 3
android上玩8086汇编
2017-04-20
8086汇编语言工作环境
2017-02-03
2014 C++ 第3讲 用流程图思考和表达PPT
2014-09-28
多态性与虚函数(2013级-C++程序设计)
2014-05-25
wxWidgets初学者导引
2014-05-18
C++类和对象(2013级-C++程序设计)
2014-03-09
C++程序设计实践学材微课件——1.9 编码规范之一句一行、缩格排放、加上注释
2013-12-31
C++程序设计实践学材微课件——1.8 输出星号的循环程序在执行
2013-12-31
C++程序设计实践学材微课件——1.7 两数中大值程序的执行过程
2013-12-31
C++程序设计实践学材微课件——1.6 完成简单计算的程序的一般“套路”
2013-12-31
C++程序设计实践学材微课件——1.5 电阻串联程序的执行过程
2013-12-31
C++程序设计实践学材微课件——1.4 程序执行的两种方式
2013-12-31
C++程序设计实践学材微课件——1.3 程序中的几种“低级”错误
2013-12-31
C++程序设计实践学材微课件——1.2 编辑、运行第一个程序
2013-12-31
C++程序设计实践学材微课件——1.1 下载、安装CodeBlocks
2013-12-31
读懂冒泡排序
2013-12-09
C++指针(2013级-C++程序设计)
2013-12-07
C++数组(2013级-C++程序设计)
2013-11-25
读懂C++递归程序
2013-11-16
计算机学科与专业(计算机学科导论)
2013-11-14
CodeBlocks单步调试入门
2013-11-12
C++中的函数(2013级-C++程序设计)
2013-11-02
计算机通信与网络(计算机学科导论)
2013-10-29
前言 关于本课(2013级-C++程序设计)
2013-10-14
数据类型和表达式(2013级-C++程序设计)
2013-10-14
程序设计(计算机学科导论)
2013-10-11
C++ASCII文件练习的几个文件
2013-06-12
C++程序设计课件 ch13输入输出流
2013-06-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人