
汇编语言
Reacubeth
imperfect but true
展开
-
数据结构Huffman树及编码
一、 实验目的构造一个哈夫曼树,并根据所构造的哈夫曼树求其哈夫曼树的编码; 二、 基本思路将每个英文字母依照出现频率由小排到大,最小在左,组成一个序列每个字母都代表一个终端节点(叶节点),比较每个字母的出现频率,将最小的两个字母频率相加合成一个新的节点,将两个字母从序列中删除,将生成的节点加入到字母队列中重复前面两步,直到序列中没有字母为止 进行编码:给霍夫曼树的所有左链结’0’与右链结原创 2017-06-16 23:42:56 · 2191 阅读 · 2 评论 -
汇编语言辗转相除法求最大公约数
辗转相除法, 又名欧几里德算法(Euclidean algorithm),是求最大公约数的一种方法。它的具体做法是:用较小数除较大数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。汇编中的主要子程序 ①主程序模块 ②显示模块,调用DOS命令显示字符串,注意显示字...原创 2018-07-23 22:34:17 · 3866 阅读 · 0 评论 -
汇编语言实现简单的计算器
计算器实现简单的加减乘除运算(小于65536的正数) ①从键盘输入算数的等式 ②不接受复合算数如3+5*7 ③按‘=’号输出结果 ④按‘C’号作为CLEAR清零 程序分为输入模块,判断模块,计算模块,输出模块。 其他:增加了一些特性 ①能够得出两个正数相减得到的负数 ②能够计算除法中的余数 ③比较美观 代码过长由于增加了一些特性DATA SEGMENTdivisors DW 1原创 2017-06-15 23:22:25 · 24044 阅读 · 26 评论 -
汇编程序16位带符号变量计算
用16位指令编写完整的程序,并上机测试,计算W=(x+y)*z,其中所有变量均为16位带符号变量。注意伪指令的使用。data segmentx db 7y db -3z db 2w db ?data ends;定义数据段,其中X,Y,Z为一个字节,V为16位结果字节code segment assume cs:code,ds:datastart:mov ax,datamov d原创 2017-11-27 17:49:04 · 5936 阅读 · 0 评论 -
16位伪指令汇编程序查看内存
【实验内容】用16位指令编写完整程序,实现下列数据定义语句和相关指令,在debug下查看内存数据的定义情况,单步跟踪查看各寄存器的值。题目:ORG 0ARRAY LABEL BYTEDA1 DW 2,9,14,3,315H,-6DA2 DB 7,‘ABCDEDFG’LEN = $-DA2ORG 100HDA3 DW DA4DA4 DB 4 DUP(2 DUP(1,2,3),4)…原创 2017-11-27 17:49:41 · 3536 阅读 · 6 评论 -
汇编语言将正负数复制到不同的数组
分离字数组ARRAY中的正,负数,把其中的正数复制到PDATA数组:负数复制到NDATA数组,并分别统计正、负数个数。DATAS SEGMENT array dw 1,2,3,-4,5,-6,7,-8 DATAS ENDSext segment pdata dw 8 dup(?) ndata dw 8 dup(?) a db 30h b db 30h原创 2017-08-29 20:27:27 · 3618 阅读 · 0 评论 -
汇编语言数据段查找ASCII码并回显
实验要求:在数据段预先存放16个十六进制的ASCII码,首地址为ASC。从键盘输入一位十六进制数到BX,用ASC[BX](寄存器相对寻址)寻址方式找到对应数位的ASCII码,并取出显示。汇编代码片段:data segment asc db '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' ;数据段定义data end原创 2017-08-29 20:25:58 · 8561 阅读 · 1 评论 -
汇编语言字符串比较与查找
答案仅供参考,大家还是自己写比较好。(汇编语言实现)用字符串处理指令编制程序,处理字符串的比较和查找,显示结果。要求:(1)字符串的比较函数中,一个字符串在数据段定义,另一个字符串在程序执行时从键盘输入,必须定义键盘缓冲区。指出不相等的位置。(2)在字符串中查找某个字符,并指出找到的位置。第一问:DATA SEGMENT BUFF DB 255 DUP('?');定义一个缓冲区,缓冲区长度比原创 2017-08-29 20:24:27 · 8886 阅读 · 0 评论 -
汇编语言32位加减乘除运算题
用16位指令编制程序,处理32位的加减乘除算术四则运算题。本文计算(3*X+Y-Z)/5的值值分别为:x dw 7;大家自己定义一下数据,最好不要雷同哦!!!y dw -3z dw 1data segmentx dw 7;自己定义数据,最好不要雷同!!!y dw -3z dw 1v dd ?data ends;定义数据段,其中X,Y,Z为一个字节,V为32位结果双字code seg原创 2017-08-29 20:22:28 · 11901 阅读 · 1 评论 -
如何在win10 64位下搭载汇编环境(包含汇编dosbox和masm文件)
网上的教程只能在win10中使用debug 命令 不能使用edit命令 找了半天终于找到了可以在64位机下使用的edit源文件并插入到网上下载的MASM包中。 更多汇编及程序设计内容请访问omegaxyz.com 汇编文件 http://pan.baidu.com/s/1dE5COm9 首先,将文件下载安装DOSBox0.74注意不要安装在C盘 将下载的MASM文件(如图)复制到一个原创 2017-04-04 13:58:05 · 52242 阅读 · 44 评论 -
《汇编语言程序设计教程》人民邮电出版社第二版习题及参考答案
网上的答案是第一版的,重新整理了一下《汇编语言程序设计教程》人民邮电出版社第二版 刘慧婷,王庆生 主编 习题及参考答案更多汇编内容请访问:omegaxyz.com第一章至第五章核对及编辑:xyjigsaw习题1 1.1 什么是机器语言?什么是汇编语言?简述汇编语言的特点。 机器语言就是用二进制编码组成的机器指令的集合和一组使用机器指令的规则。汇编语言是对机器指令中的操作码用英文单词的缩写描述原创 2017-06-15 23:25:48 · 43259 阅读 · 6 评论 -
海明码汇编语言实现
海明码简介 海明码其性能是检测一位错,是在奇偶校验码的思想上发展起来的,它在K位数据位中加入r个校验位,形成一个K+r位的新码字,并且将数据的每个二进制位分配到几个不同的奇偶校验组中。这样,当其中一位发生变化时,会引起有关的几个组出现奇偶校验错。通过这些出错组的不同组合,就能够指明是哪一位出现了错误,从而进行纠错。 使用海明码进行校验,首先需要确定校验码的位数。在本实验中,海明码只要求实现一位...原创 2018-08-08 11:12:47 · 846 阅读 · 0 评论