汇编语言源程序

1:对两个十六进制数做加法运算,这两个数从地址0050H开始连续存放,高位在高地址,低位在低地址,结果放在这两个数之后。
1A:将FFFFH送存AX,BX,CX,DX,SI,DI,BP寄存器。
1B:将FFH送存到内存1000H,1001H,1002H,1003H,1004H单元。
1B1:将FFH送存到内存1000H,1001H,1002H,1003H,1004H单元。
2A:设内存1000H处放有两个3字节长的数据,求这两数的和(高位对高位,低位对低位)。
2B:设内存1000H处放有两个3字节长的数据,求这两数的和(高位对高位,低位对低位),将结果放在这两数之后,再用串传送指令把被加数,加数,和传送到同一数据段1005H开始的区域。
2C:从内存1000H(偏移量)开始,建立19个自然递增有自然递减(0-->9-->0)的数据。
3A:把BX中"1"的个数放到AL中,并在屏幕上显示"1"的个数。
3B:显示10行,每行(2×行数-1)个*的图案。
3C:自动生成01至99BCD数并送屏幕显示。
4A:在数据段偏移地址0100H处开始,存放0-9的平方值,任给一自然数在0110H单元中,查表求平方值。
4B:在buf开始存放10个字节的有符号数,分别统计正数,负数和零的个数,存放在数组的后面。
4C:在数据段中安排了部分七段LED显示码表,要求从键盘上任给一个0-F中的数,在屏幕上显示对应的码值。
5A:内存数据区有大小写混合英文ASCII码字母10个,将其转换为全部大写和全部小写,在屏幕上分三行显示这三种字母。
5B:buf开始存放10个16位有符号数,将负数去掉,正数连续地放在buf数组之后。
5C:在10字节字符串中,搜索一个特定的字符" "(空格符),若有则在CRT上显示"Yes",否则显示"No"。
5D:一个两位十进制数加法程序,从键盘上输入:n1n2+n3n4则在CRT上显示: =n5n6
6A:从首地址爲buf开始存放有10个单字节无符号数,从这些数中找出最大值,存入max中,并显示到屏幕上。
6B:从首地址为buf开始存放10个数,将这些数放在这些数的后面由小到大排序,并将全部数据送CRT显示。
17A:假设在数据段X_SEG,附加段Y_SEG和堆栈段Z_SEG中分别定义了字变量X,Y和Z,编制程序计算:X<--X+Y+Z。
18A:写一个完整的程序放在代码段C_SEG中,要求把数据段D_SEG中的AUGEND和附加段E_SEG中的ADDEND相加,并把结果存放在D_SEG段的SUM中。其中AUGEND,ADDEND和SUM均为双精度数,AUGEND赋值为99251,ADDEND赋值为-15926。
2:从键盘输入一个小写字母,找出它的前导字符和后续字符,在按顺序显示这三个字符。
3:将AX寄存器中的16位数分成4组,然后把这4组数分别放在AL,BL,CL和DL中。
4:比较两个字符串是否相同,若相同则显示'MATCH',若不同则显示'NO MATCH'。
9:输入四个字符,回车换行后显示与它等值的二进制数。
11:输入一系列以$为结束符的字符串,对其中的非数字字符计数(非数字字符个数应小于等于19),并显示出计数结果。
13:在SRTRING开始的100个单元中存放着一个字符串,编一程序测试该字符串中是否存在数字,如果存在把CL的第5位置1,否则将该位置0。并在屏幕上显示CL的内容。
17:把AX中的16进制数转换为ASCII码,放入MEM数组中的四个字节中。当(AX)=2A49H时,程序执行完后,MEM中的4个字节内容为39H,34H,41H,32H。
19:已知数组A包含15个互不相等的整数,数组B包含20个互不相等的整数,把即在A又在B的整数存放在于数组C中。
20:在A,B和C单元分别存放着三个数。若三个数都不是0,则求出三数之和存放在D单元;若其中有一个数为0,则把其它两单元也清零。
127:计算非压缩型BCD码(ASCII)的加法运算:sum<--962+853,并将结果1815显示在屏幕上。
129:编写一四字节压缩型BCD码的减法运算。
130:在内存a1和a2分别存放一单字节有符号整数,编程求其乘积并存入a3字单元。
131:在内存单元a1存放一双字节被除数,a2单元存放一单字节除数,求其商和余数并分别存入a3和a4单元中。
132:用非压缩型BCD码完成57394乘8的运算,并在显示器上输出显示结果459152。
134:用非压缩型BCD码完成672597除以9的运算,并将结果显示。
135:计算字符串的长度送len单元。
136:检查两个字符串是否相同,若相同标志单元flag置0,否则置-1。
137:一字符串存放在s1为首址的数据区中,编一程序找出其中的第一个空格字符,并将其存放地址送s2单元,若无将s2单元置-1。
145:对分查表法。
146:在AX中存放有两字节四位十六进制数,将其转换为四字节的ASCII码存放在以s2为首址的四个字节单元中。
147:将四位十六进制数的ASCII码转换为两字节四位十六进制数。
加法:计算非压缩型BCD码(ASCII)的加法运算(从键盘输入两个五位数)并将结果显示在屏幕上。
减法:计算非压缩型BCD码(ASCII)的减法运算(从键盘输入两个三位数)并将结果显示在屏幕上。
乘法:输入小于20位的被乘数和1位的乘数求积,并在显示器上显示结果。
除法:非压缩型BCD码的除法运算。(被除数最多为20位,除数为1位)
排序:从首地址为buf开始存放len个数,将这些数放在它的后面由小到大排序,并将全部数据送CRT显示。
搜索:输入字符(小于30个)搜索一个特定的字符" "(空格符),若有则在CRT上显示"Yes",否则显示"No"。
ASCII:从键盘输入一个字符显示它的编码,(一共能输入30个字符),按Esc键退出。
ASCII1:显示从0-255编码的ASCII字符。