计算机原理作业4一、选择题1.汇编程序是___的程序。a.汇编语言 b.属于操作系统 c.将汇编语言源程序翻译成目标文件 d.用高级语言建立数学模型2.从建立文件到生成文件,中间要经过用软件汇编,用软件链接。a.masm, edit b.masm,link c.debug,tc d.tc,link3.设table是一个已定义的变量名,指令“mov ax, table”中源操作数的寻址方式为a.立即寻址 b.寄存器间接寻址 c.寄存器寻址 d.直接寻址4.在下列指令中指令的操作数是定义在内存中的数据。
a.mov ax,[si] b.inc byte ptr [bx] c.call p1 lop5.形成可执行文件后源操作数是立即数的指令是注:ary是已定义的数据变量)。
a.lea di,ary b.mov bx,offset ary c.cmp dx,ary+10 d.mov ax,seg ary
二、填空题1.假设某程序的数据段中定义如下,请在注释部分写出各语句汇编后占内存空间的单元数。cnt equ 20 ;占内存空间单元partno dw ?
占内存空间单元pname db cnt dup(?)占内存空间___单元count dd 0,1,2,4 ;占内存空间___单元。
2.请按要求定义以下字符变量或数据变量。(1)d1为字符串变量’personal computer2)d2为十进制数字节变量,数据值323)d3为10个20h的十六进制数字节变量4)d4为二进制数字节变量,数据值010110015)d5为数字串32654的ascii字符字节变量6)d6为零件名(ascii)及其数量(十进制数)的**part1 20part2 50part3 14(7)w1 为十六进制数字变量,数据值fff08)w2为(6)中零件表的段内偏移地址变量9)w3为本段中字数据变量和字节数据变量之间的段内偏移地址差。
3、判断题1.假设下列指令中的所有标识符均为类型属性为字的变量,请指出下列指令中哪些是非法的,它们的错误是什么?(1)mov word_op[bx+4*3][di],sp (2)mov word_op1,word_op2(3)mov ax,word_op1[dx] (4)mov sp,ss:
data_word[bx][si] (5)mov [bx][si],2(6)mov ax,word_op1+word_op2 (7)mov ax,word_op1-word_op2+100(8)mov word_op1,word_op1-wordop2
2.设在某个程序中有如下片断,请判断并改正有错误的指令语句:
1varw dw 1234h,5678hvarb db 3,4vard dd 12345678h………mov ax , varb
mov vard , bxmov vard+2 , esmov cl , varw+3les di , varw
四、简答题1. 已知一数据段中的数据为data segmentstr1db 0 , 1 , 2str2db ‘012’countequ 30numbdb3dup(2)numwdw10h , 60hpoindw 0data ends
试画出数据段中的数据在存储器中存储的形式,并写出各变量的偏移地址与变量值。
2.假设数据段中数据定义如下:var dw '34'var1 db 100, 'abcd'var2 dd 1count equ $-var1x dw 5 dup (count dup (0))y equ this wordz db '123456'v dw 2, $var执行下面程序段并回答问题。
mov ax, count ; ax) =mov bx, z-x ; bx) =mov cx, v+2 ; cx) =mov dx, var ; dx) =mov y+3, 2mov si, y+4 ; si) =add z+5, 1mov di, word ptr z+4 ; di) =
2五、编程1. 写一个完整的程序放在**段c_seg中,要求把数据段d_seg中的augend和附加段e_seg中的addend相加,并把结果存放在d_seg中的sum中。其中augend、addend和sum均为双精度数(四个字节),augend赋值为99251,addend赋值为-15962。
2.编写一个完整的程序,要求把含有23h,24h,25h,26h四个字符数据的数据区复制20次。
3.对存储器中的两个字节无符号数 a 和 b 按以下规则进行处理:规则 1、如果其中一个是奇数、另一个是偶数,则奇数放在 a 、偶数放在 b 。
规则 2、如果其中两个都是奇数,则分别加1 。规则 3、如果其中两个都是偶数,则不做处理 。
4.求出一个有符号的字节数组中10个数据的最大值、最小值,正数、负数的个数,并将数组求和。
5.在存储器中有一个数组,有10个数据,将它们的排列顺序倒过来存放。
6.在存储器中有一个无符号字节数组,有10个数据,按降序排列。
7.将内存中5个有符号字节数相加,结果保存在result单元中。
8.编程实现:从键盘上接受一个大写字母,把它变换成小写,并显示该字母的前一个字母的小写形式和后一个字母的小写形式。
9.编程实现:统计大写字母“a”在一个字符串**现的次数,并将次数存入内存单元cnt中,该字符串以“#”号作为结束符。
10.编程实现:比较两个有符号字数组a、b,若相等将“ok”放在result字单元中,若不相等将不相等处的段内偏移地址放在result字单元中。
11.在abcdefghijk…大小为100个字节的空间中寻找字符串ijk出现的次数。
计算机原理作业
第一次作业。一 填空题。1 计算机系统由 和 构成。2 计算机的程序设计语言分为三大类。3 计算机指令包括两个部分 一是 一是 4 十进制数112转换成二进制是 转换成八进制是 转换成十六进制是 5 cpu由三部分组成。cpu基本的总线周期是由 时钟周期组成。二 判断题。1 任何存储器都有记忆能力,...
计算机原理作业
10 11计算机原理作业1 1 选择题。相对于原码和反码,补码编码的特点是 a 便于转换b 便于表示负数c 便于加减法运算d 便于乘除法运算 常用的英文字符编码有 a 内码b 补码c asc 码d bcd码。在8421码表示的二 十进制数中,1001表示 a.3b.6c.9d.1 完整的计算机系统应...
计算机原理作业
计算机原理。作业 8088中断系统中中断向量表的作用是什么?8086 8088cpu如何获取中断向量?编写intr中断的服务程序时,应包含的几个基本步骤是什么?要求允许中断嵌套 8088处理器对中断响应和处理的几个基本步骤是什么?4 在pc at计算机中,使用两片8259a来管理中断优先级。请问可以...