汇编语言

河北工业大学汇编语言程序设计实验五

只愿长相守 提交于 2020-02-03 02:28:32
河北工业大学汇编语言程序设计实验五 5-3 ASSUME CS : CODE , DS : DATA , SS : STACK1 DATA SEGMENT COL DW 50 ROW DW 100 LENG1 DW 200 LENG2 DW 100 COLOR DB 1100 B DATA ENDS STACK1 SEGMENT STACK DW 20 DUP ( 0 ) STACK1 ENDS CODE SEGMENT START : MOV AX , DATA MOV DS , AX MOV AH , 0 MOV AL , 12 H INT 10 H MOV DX , ROW MOV CX , COL CALL PROC_X ; MOV DX , ROW MOV CX , COL CALL PROC_Y MOV DX , ROW MOV CX , COL ADD CX , LENG1 CALL PROC_Y MOV DX , ROW MOV CX , COL ADD DX , LENG2 CALL PROC_X MOV AH , 1 INT 21 H MOV AH , 0 MOV AL , 3 INT 21 H MOV AX , 4 C00H INT 21 H PROC_X PROC MOV BP , LENG1 LOP1 : MOV BH , 0 INC CX MOV AL

学_汇编语言_王爽版 要点采集笔记(未完待续...)

。_饼干妹妹 提交于 2020-02-02 19:06:12
第一章 基础知识 存储器(内存)存放CPU工作的指令和数据(CPU可以直接使用的信息在内存中存放);指令和数据都是二进制数没有任何区别,由CPU决定是数据还是指令 内存单元:存储器被分为若干个存储单元,并从0开始编号(存储单元的地址),一个存储单元为1字节(8bit) CPU的读写 总线逻辑上分为:地址总线、数据总线、控制总线 地址总线:地址线宽度决定了CPU的寻址能力,计算方式 :2^[地址线宽](个内存单元) 数据总线:决定了CPU和外界的数据传输速度(8根数据总线可传送一个8位(bit)二进制数,即1个字节) 控制总线:是各外部器件的不同控制线的集合 CPU进行数据读写必须经过3类信息交互: ①存储单元的地址(地址信息)②器件的选择,读或写的命令(控制信息)③读或写的数据(数据信息) 读:CPU在内存中读取数据时,要先指定存储单元的地址(你要找一个地方先要确定一个地址),会把要读取的地址经过地址总线发给内存;同时CPU控制器将内存读命令通过控制总线发送给内存,并通知内存要读取数据;最后内存将被指定的内存单元中的数据经过数据总线送入CPU 写:与读类似,CPU经地址线发送要操作的内存单元的地址,CPU经控制线将内存写命令发送至内存,并通知内存要写入数据;CPU通过数据线将数据送入指定的内存单元; 内存地址空间: 每一个外部器件都有自己的存储芯片(如显卡有显存RAM和ROM

关于汇编语言操作数、操作符、操作码例子和定义详解

回眸只為那壹抹淺笑 提交于 2020-02-02 00:25:10
操作数 定义:操作数是运算符作用于的实体,是表达式中的一个组成部分,它规定了指令中进行数字运算的量 。表达式是操作数与操作符的组合。操作数指出指令执行的操作所需要数据的来源。操作数是汇编语言指令的一个字段。 例如:Mov AX 5678H 指令 Mov为操作符,而它后面的(AX 5678H)为操作数 一条指令均包含操作符和操作数。例如:在比较指令中操作符指定计算机做比较操作,操作数则指定进行比较的两个数值。 操作数是指令执行的参与者,也就是各种操作的对象.与之有关的是操作码,所谓操作码是说明计算机要执行哪种,如传送,运算,移位,跳转等操作,它是指令中不可缺少的组成部分。 在应用指令中,内容不随指令执行而变化的操作数为源操作数,内容随执行指令而改变的操作数为目标操作数。大多数情况下,操作数字段可有一个或者多个操作数。只有一个操作数的指令称为单操作数指令,有两个操作数的指令称为双操作数指令。双操作数又称为源操作数(source)和目的操作数(destination) 如:MOV AH,06H 操作符(MOV) 目的操作数(AH),源操作数(06H) 操作符 定义:指令系统的每一条指令都有一个操作符,它表示该指令应进行什么性质的操作。 优先级 每个操作符都有优先级。 结合性 每个操作符都有结合性。操作符的结合性定义了操作符对操作数执行操作的顺序,例如

C语言——基础知识

只谈情不闲聊 提交于 2020-01-31 17:47:11
我么可以通过“语言”来控制计算机,让计算机为我们做事情,这样的语言就叫做编程语言(Programming Language)。 编程语言也有固定的格式和词汇,我们必须经过学习才会使用,才能够控制计算机。 编程语言有很多种,常用的语言有C语言、C++、C#、Java、Python、PHP、JavaScript、Go语言、Objective-C、Swift、汇编语言等,每种语言的功能都不一样。 C/C++:C++是在C语言的基础上发展起来的,C++包含了C语言的所有内容,C语言是C++的一部分,它们往往混合在一起使用,所以统称C/C++。C/C++主要用于PC软件开发、Linux开发、游戏开发、单片机和嵌入式系统。 C#:C#是微软开发的用于对抗Java的一门语言,实现机制和Java类似,不过C#显然是失败的,目前主要用于Windows平台的软件开发,以及少量的网站后台开发。 Java:Java是一门通用性的语言,可以用于网站后台开发、Android开发、PC软件开发,近年来又涉足了大数据领域(归功于 Hadoop 框架的流行)。 Python:Python是一门通用型语言,主要用于系统运维,网站后台开发,数据分析,人工智能,云计算等领域,近年来势头强劲,增长非常快。 PHP:PHP是一门专用性语言,主要用于开发网站后台程序。 JavaScript

1.2.5 计算机系统的多级层次结构(硬联逻辑级、微程序级、传统机器级、操作系统级、汇编语言级、高级语言级、应用语言级)

烈酒焚心 提交于 2020-01-31 04:28:47
文章目录 计算机系统层次结构 0.硬联逻辑级 1.微程序级 2.传统机器级 3.操作系统级 4.汇编语言级 5.高级语言级 6.应用语言级 计算机系统层次结构 指的是计算机系统由硬件和软件两大部分所构成,而如果按功能再细分,可分为7层。把计算机系统按功能分为多级层次结构,就是有利于正确理解计算机系统的工作过程,明确软件,硬件在计算机系统中的地位和作用。 0.硬联逻辑级 第零级是硬联逻辑级,这是计算机的内核,由门,触发器等逻辑电路组成。 1.微程序级 第一级是微程序级。它是实现程序的一种手段,具体就是将一条机器指令编写成一段微程序。每一个微程序包含若干条微指令,每一条微指令对应一条或多条微操作,一般是直接由硬件执行的。 2.传统机器级 第二级是传统机器级,这级的机器语言是该机的指令集,程序员用机器指令编写的程序可以由微程序进行解释。 3.操作系统级 第三级是操作系统级,从操作系统的基本功能来看,一方面它要直接管理传统机器中的软硬件资源,另一方面它又是传统机器的延伸。 4.汇编语言级 第四级是汇编语言级,这级的机器语言是汇编语言,完成汇编语言翻译的程序叫做汇编程序。 5.高级语言级 这级的机器语言就是各种高级语言,面向用户,为方便用户编写应用程序而设置,通常用编译程序来完成高级语言翻译的工作。 6.应用语言级 这一级是为了使计算机满足某种用途而专门设计的

汇编语言 第三版 王爽 课程设计1

大兔子大兔子 提交于 2020-01-31 02:26:09
课程设计1 题目要求 实验7 实验10 当然在做了课程设计1后 实验10中只有“数值显示”是比较成功的 分析 将数据存储在table中 ('year summ nn ave ') table格式(‘88484’)数字代表字节数 共32字节 大致步骤如下 1.传入字符 2.传入收入 人数为数据 需要转换为字符 dtoc dtoc 过程中需要用到 divdw 但不是所有数据都需要 由于之前的经验不足 这次直接重写两个函数 divdw 改为 div_plus 使之能够判断被除数是否需要进行32位除法 dtoc 直接包含 div_plus 并且参数更加明确 能够被直接调用 3.传入人数 4.计算人均收入传入 5.将数据以十进制显示在屏幕上 show_str 那么重点问题就在第二步上 这里先给出代码 要注意子程序传入的参数若不是空闲寄存器需要入栈保存数值 dotc 功能 将dword或word数据转换为字符 参数 ax 高16位 dx 低16位 ds:[si] 空闲内存 返回si地址 便于后续的调用 dtoc: psi: push si re: mov cx,0ah push bx call div_plus ;执行完后cx为余数 ax低位 dx高位 pop bx add cx,30h mov ds:[si],cl inc si mov cx,ax ;判断最后一位 jcxz finsh

汇编语言(一)——虚拟机

萝らか妹 提交于 2020-01-30 15:35:25
虚拟机概念(virtual machine machine)是一种说明计算机硬件和软件关系的有效方法。要说明这个概念,先从计算机的最基本功能开始,即执行程序。计算机通常可以执行用其原生机器语言编写的程序。这种语言中的每一条指令都简单到可以用相对少量的电子电路来执行。为了简便,称这种语言为 L0。由于 L0 极其详细,并且只由数字组成,因此,程序员用其编写程序就非常困难。如果能够构造一种较易使用的新语言 L1,那么就可以用 L1 编写程序。有两种实现方法: 解释(Interpretation):运行 L1 程序时,它的每一条指令都由一个用 L0 语言编写的程序进行译码和执行。L1 程序可以立即开始运行,但是在执行之前,必须对每条指令进行译码。 翻译(Translation):由一个专门设计的 L0 程序将整个 L1 程序转换为 L0 程序。然后,得到的 L0 程序就可以直接在计算机硬件上执行。 与只使用语言描述相比,把每一层都想象成有一台假设的计算机或者虚拟机会更容易一些。通俗地说,虚拟机可以定义为一个软件程序,用来模拟一些其他的物理或虚拟计算机的功能。虚拟机,将其称为 VM1,可以执行 L1 语言编写的指令。虚拟机 VM0 可以执行 L0 语言编写的指令: 每一个虚拟机既可以用硬件构成也可以用软件构成。程序员可以为虚拟机 VM1 编写程序,如果能把 VM1 当作真实计算机予以实现

语言处理程序

独自空忆成欢 提交于 2020-01-29 10:06:27
在软考的复习过程中,一直认为语言处理程序非常抽象,在做题的时候也是错非常多(尽管这部分题不多哈) 。在进京赶考之前总结一下自己薄弱的地方。 语言处理程序就是能够将高级语言或汇编语言编写的程序翻译成某种机器语言程序,使程序能够在计算机上执行。也就是处理一些本不能够直接执行在计算机上的语言的一些程序,而这些语言就叫做源程序,经过语言处理程序处理成计算机可直接执行的程序。 假设感到非常抽象的话请看下图: 源程序主要就是汇编语言或高级语言编写的。 语言处理程序主要分为汇编程序、编译程序和解释程序三种。分别说明下面三种语言处理程序的原理: 1、汇编语言 汇编语言是为特定的计算机或计算机系统设计的面向机器的符号化的程序设计语言。用汇编语言编写的程序称为汇编语言程序。汇编程序的project是将汇编语言所编写的源程序翻译成机器指令程序。 2、编译程序和解释程序 编译程序的解释程序的工作原理基本同样。仅仅是在执行用户程序时有所差别。它们都是对某种高级语言编写的源程序进行翻译。详细例如以下: 详细 编译程序的工作原理: 详细解释程序的工作原理: 中间 代码的级别不同一时候也会有影响。级别越高就会越接近于机器语言。 二者差别: 解释程序不产生源程序的目标程序。 高级语言编译与解释方式的比較: (1)效率:编译比解释方式可能取得更高的效率。 由于源程序仅仅须要被编译程序翻译一次,就能够多次执行。

汇编语言 王爽 第三版 实验十

╄→гoц情女王★ 提交于 2020-01-28 20:38:24
实验10 三题 对跳转指令的巩固 显示字符串 解决除法溢出 数值显示 显示字符串 题目要求 题目分析 把 实验9 中代码改为一个接口 行对应地址为 行数 X A0 列对应地址为 (列数 X 2) H 代码 assume cs:code, ds:data data segment db 'Welcome to Masm!',0 data ends code segment start: mov dh,8 mov dl,3 mov cl,2 mov ax,data mov ds,ax mov si,0 call show_str mov ax,4c00h int 21h show_str: mov ax,0b800h mov es,ax mov bh,dh mov bl,dl mov ax,0a0h mul bh mov si,ax ;行 mov ax,2 mul bl mov di,ax ;列 add si,di mov bx,si mov si,0 mov di,0 s: push cx mov cl,ds:[si] jcxz ok mov al,ds:[si] ;字符及属性 pop cx mov ah,cl mov es:[bx+di],ax inc si add di,2 jmp short s ok: pop cx ret code ends end start 结果 问题

1.1.4 错题知识整理(机器语言、汇编语言、正则语言、解释程序、编译、汇编)

纵饮孤独 提交于 2020-01-28 16:28:51
计算机中可直接执行的语言:机器语言 用助记符编写的语言:汇编语言 正则语言:编译原理中符合正则文的语言 解释程序的特点:翻译一句执行一句,边编译边执行 编译:高级语言->汇编语言 汇编:汇编语言->机器语言 执行过程:高级语言->汇编语言->机器语言 来源: CSDN 作者: __IronMan__ 链接: https://blog.csdn.net/weixin_43914604/article/details/104099689