没啥好说的,总结我电一波实验题目,关于汇编的……


 题目要求

实验一 EMU8086使用及8086指令系统

 · 编写一个简单的程序:将“This is my first ASM program-姓名(汉语拼音各人的姓名)”放在DS=1000H,BX=0000H开始的存储器单元中,然后将该内容搬移到BX=0100H开始的单元中,最后将该字符串通过DOS功能调用显示在屏幕上。

实验二  数制转换与数值运算编程

· 2.1 将ASCII码表示的十进制数转换为二进制数。
· 2.2 BCD码转换为二进制数
· 2.3 两个非压缩BCD数加法程序。
· 2.4 从键盘上输入任意两个不大于2位数的正整数,计算其乘积。结果在屏幕上显示。

实验三 顺序、分支、循环、子程序设计

· 3.1 教材P74例1。m=6,n=4,w=7。结果Q也放在内存中。
· 3.2 教材P75例3。
· 3.3 从键盘上输入1个数,判断其奇偶性,如果是奇数,屏幕上显示”It is odd”,否则显示”It is even”。
· 3.4 从键盘上输入N个字符(N<16),求这N个字符中’A’的个数,并将’A’的个数显示在屏幕上。
· 3.5 已知BUF1中有N1个按从小到大的顺序排列的互不相等的无符号数,BUF2中有N2个从小到大的顺序排列的互不相等的无符号数。编写程序将BUF1和BUF2中的数合并到BUF3中,使在BUF3中存放的数互不相等且按从小到大的顺序排列。

实验四  综合性汇编程序设计

· 4.1  计算S=1+2×3+3×4+4×5+…+N(N+1),直到N(N+1)项大于200为止。
· 4.2  求N!。N为键盘输入的不大于8的正整数。
· 4.3  从键盘输入一行字符(以回车符结束),并按字母、数字及其它字符分类计数,最后显示出这3个计数结果。

程序清单及结果:

1.

 1 name "mycode"
 2 org 100h
 3     ; set segment register:
 4     mov ax, 1000h
 5     mov ds, ax
 6     mov bx,0000h
 7     ; print "This is my first ASM program-WangYuBo"
 8     mov [02h], 'T'
 9     mov [04h], 'h'
10     mov [06h], 'i'
11     mov [08h], 's'
12     mov [0ah], ' '
13     mov [0ch], 'i'
14     mov [0eh], 's'
15     mov [10h], ' '
16     mov [12h], 'm'
17     mov [14h], 'y'
18     mov [16h], ' '
19     mov [18h], 'f'
20     mov [1ah], 'i'
21     mov [1ch], 'r'
22     mov [1eh], 's'
23     mov [20h], 't'
24     mov [22h], ' '
25     mov [24h], 'A'
26     mov [26h], 'S'
27     mov [28h], 'M'
28     mov [2ah], ' '
29     mov [2ch], 'p'
30     mov [2eh], 'r'
31     mov [30h], 'o'
32     mov [32h], 'g'
33     mov [34h], 'r'
34     mov [36h], 'a'
35     mov [38h], 'm'
36     mov [3ah], '-'
37     mov [3ch], 'W'
38     mov [3eh], 'a'
39     mov [40h], 'n'
40     mov [42h], 'g'
41     mov [44h], 'Y'
42     mov [46h], 'u'
43     mov [48h], 'B'
44     mov [4ah], 'o'
45     mov cx,0025h ;一共37个字符
46     mov bx,0100h
47     mov si,0002h          
48     ;string copy
49     copy:
50         mov ax,ds:[si]
51         mov ds:[bx+si],ax
52         add si,2
53     loop copy
54     mov bx,0102h
55     mov cx,0025h
56     ;printf string
57     printf:    
58         mov dl,[bx]
59         mov ah,02h
60         int 21h
61         add bx,2
62     loop printf          
63     mov ah,1
64     int 21h
65 
66     mov ah,4ch
67     int 21h
68     ret
View Code

相关文章: