试用汇编语言编写一个程序,该程序的功能如下:

作者&投稿:诗谈 (若有异议请与网页底部的电邮联系)
求助汇编语言编写一个完整源程序完成如下功能~

要实现什么样的功能。

;所谓分支程序,其实就是将函数的地址放在一组数据中,根据不同的条件跳转到这些地址入口执行程序。方法有几种,比如,以下就是利用跳转指令将地址组合在一起实现的方法之一。
MEMORYM:
LCALL CHGRAM11 ;内存选择,确定内存区域,这里省略
MOV DPTR,#ST0 ;函数入口地址组合首地址
CLR C
DEC A ;调用参数,以下计算入口地址
MOV R7,A
RLC A
ADD A,R7
JMP @A+DPTR ;跳转到入口地址
ST0:
LJMP FUNC1 ;以下为13个函数入口地址,完成不同的功能
LJMP FUNC2
LJMP FUNC3
LJMP FUNC4
LJMP FUNC5
LJMP FUNC6
LJMP FUNC7
LJMP FUNC8
LJMP FUNC9
LJMP FUNC10
LJMP FUNC11
LJMP FUNC12
LJMP FUNC13

当BL为0,将0—255这256个数从小到大的顺序放入
当BL为1,将0—255这256个数从大到小的顺序放入
当BL为其它,将0放入以3100H为起始的单元中去

;
MOV AL, 0
MOV CX, 256

MOV DI, 3100H
LP:
MOV [DI], AL
CMP BL, 0
JNZ ONE
INC AL
JMP NEXT
ONE:
CMP BL, 1
JNZ NEXT
DEC AL
NEXT:
INC DI
LOOP LP

HLT

END


编写一汇编语言程序,要求从键盘接收一个四位的十六进制数,并在终端上...
MOV CH, NNN ;取输入字符的个数,用来控制循环处理的次数 CONV:MOV BL, [SI] ;取来一个字符 CMP BL, 0DH ;和回车符进行比较 JZ END0 ;是, 即结束 CMP BL, '0'JB ERROR ;小于'0'转移 CMP BL, 'F'JA ERROR ;大于'F'转移 CMP BL, '9'JNA ...

用c语言或汇编语言编写一个:将数组按由小到大的顺序排列的程序。要求1...
num[j+1] = temp ;} } if ( !tag )break ;} } int main(){ printf("输入数据:");int a[10];for (int i =0;i<10;i++){ scanf("%d",&a[i]);} Order(a,10);printf("\\n");FILE *fp;if((fp=fopen("d:\\\\test.txt","w"))==NULL) \/*以只写方式打开文件*\/ { ...

编写汇编语言程序
;本程序通过编译,运行正确。datasegment mes1db'92,85,74,81,70,68,65,78,54,43',0ah,0dh db'94,100,83,88,79,83,79,69,62,60',0ah,0dh,'$';定义用于显示的字符串 mes2dw92,85,74,81,70,68,65,78,54,43 dw94,100,83,88,79,83,79,69,62,60;存放20个十进制数 element...

求用汇编语言编写一个实现任意两个五位数相加的程序
编程前,应把算法先想清楚了。code segment;任意两个五位数相加 assume cs:code,ds:code,ss:code org 100h;标准COM格式 start:jmp begin Tips db 0dh,0ah,09,'? $'X1 db '23456+98765='Y1 db '000000. Esc to Quit...',24h begin:push cs pop ds push ds pop es mov ax,3;文本...

用汇编语言编写一段程序实现两个六位的十进制数的加法,把运算结果显 ...
num equ 6 ;数字位数(最好为偶数),若为奇数需稍微改动程序 msg1 db 'Enter the first number(ESC to exit) : ','$'msg2 db 'Enter the second number(ESC to exit) : ','$'msg3 db 0dh,0ah,'ERROR! Enter again(ESC to exit) : ','$'num1 db num dup(0) ;存第一个...

汇编语言编写一个简单的电子秒表
;以下为使用INT 1CH的中断服务子程序 TIMER PROC FAR PUSH AX MOV AX , D_SEG MOV DS , AX ASSUME DS :D_SEG INC COUNT ;计时单元增1 CMP COUNT , ‘2’ ;到110毫秒否 JL EXIT ;不到,则返回 MOV COUNT , ‘0’ ;到,则计时单元清0 INC HAOM ;10毫秒计时单元增1 CMP HAOM ,’...

编写程序(用汇编语言编写) 1,两个省人口数(99887766人,66554433人)相加...
push cx ;下面移位需要用CL寄存器,但CX用来做循环控制变量,所以需要先保存一下 mov cl,4 ;这里的cl为4是用来循环用 shr bx,cl ;将BX右移4位,左边会补0 shl dl,cl ;DL左移4位,右边补零 or bh,dl ;BX左边的4个补入的0填上DL里的余数的那个数位 pop cx ;恢复CX里的循环...

用8086汇编语言编写一个输入字符串的程序
代码如下:DSEGSEGMENTSPACESDB 20H, 20H, 20H, 20H, 24HLINEDB0DH, 0AH, 24HDSEGENDSSSEGSEGMENT PARA STACKDW 256 DUP(?)SSEGENDSCSEGSEGMENTASSUME CS:CSEG,DS:DSEGBEGIN:MOV AX, DSEGMOV DS, AXLOOP1:MOV AH, 08HINT 21H; 判断回车键MOV DL, ALCMP DL, 0DHJNE LOOP3MOV DX, ...

用汇编语言编写一个简单程序
1.计算U=(X+(Y*Z-100))\/W 其中:X,Y,Z,W均为十六位有符号数。程序如下:DATA SEGMENT X DW 10 ;16位变量 Y DW 20 Z DW 30 W DW 40 U DW ?,?DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV AX,Y IMUL Z ;计算Y*Z,内容放在DX...

用汇编语言编写如下程序:
L1: MOV CX,4 ;这里比SUN的长度大1位 MOV SI,BX LEA DI,SUN REPE CMPSB DEC SI ;回退一个字节 JCXZ L3 ;如果比较次数用完,表示匹配 INC BX L2: CMP BYTE PTR [BX], '$'JNE L1 JMP SHORT L4 L3: INC AX MOV BX,SI JMP SHORT L2 L4: LEA SI,TOP MOV BX,10 L5: ...

青羊区19561375204: 用汇编语言编写一个程序 -
禾燕海斯: 1计算U =(X +(Y * Z-100))/ W 其中:X,Y,Z,W是16的符号数. 程序如下:数据段X DW 10; 16 可变功能?DW 20 于DW 30W DW 40> U DW?? 数据结束 代码段 假设CS:CODE,DS:DATA 开始: MOV AX,DATAMOV DS,AXMOV AX,YIMUL ...

青羊区19561375204: 汇编语言试编写一程序 -
禾燕海斯: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51CODE SEGMENTASSUME CS:CODEORG 100HSTART: JMP BEGINSTRING DB 20 DUP...

青羊区19561375204: 试用汇编语言编写一个程序求出双字长数的绝对值.双字长数在A开始的字单元中,结果存放在B开始的字单元中 -
禾燕海斯: DATA SEGMENT A DW 1234H B DW 1DUP (?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,A TEST AX,8000H JZ PLUS MOV BX,0 SBB BX,AX JMP NEXTPLUS: MOV BX,AX NEXT: MOV [B],BX MOV AX,4CH INT 21H CODE ENDS END START

青羊区19561375204: 用汇编语言编写一个程序
禾燕海斯:DATA SEGMENT; CR db 0dh,0ah,'$' SSP db 20h,'$' string1 db 'plese input the number:$' string2 db 'the number is(H):$' string3 db 'the number is(B):$' data1 dw 0 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,...

青羊区19561375204: 用汇编语言编写一个简单程序 -
禾燕海斯: 1.计算U=(X+(Y*Z-100))/W 其中:X,Y,Z,W均为十六位有符号数.程序如下: DATA SEGMENT X DW 10 ;16位变量 Y DW 20 Z DW 30 W DW 40U DW ?,?DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA ...

青羊区19561375204: 用汇编语言编这样一个程序,如图 -
禾燕海斯: data segment num1 db 12,-24,0,35,-15,30,-2, -8,10,9 num2 db 10 dup(0) num3 db 10 dup(0) data ends code segment assume cs:code, ds:data start: mov ax, data mov ds, ax lea si, num1 lea cx, num2 sub cx, si ; get num1's length mov si, 0 ;index ...

青羊区19561375204: 用汇编语言编制一个程序片段 -
禾燕海斯: MOV AX, varX CMP AX, varY JNB NEXT MOV AX, varY NEXT:MOV varZ, AX END

青羊区19561375204: 用汇编语言编写一个程序1*1+2*2+……+10*10.急用,,会的人麻烦你帮我一下,谢谢了 -
禾燕海斯:assume cs:code,ds:data data segment OUTPUT db '1*1+2*2+......+N*N=','$' TIME dw 0AH ;0AH(...

青羊区19561375204: 用汇编语言编写程序
禾燕海斯: ;MIMA;==================================DATA SEGMENT BUF1 DB 'HAPPY!' BUF3 DB 10, 13, 'PLEASE INPUT PASSWORD : $' BUF4 DB 10, 13, 'ERROR ! $' BUF5 DB 6 DUP(?) BUF6 DB 10, 13, 'WELLCOM ! $' COUNT DB 3...

青羊区19561375204: 用汇编语言编写一则程序
禾燕海斯: MOV AH,[X] SUB AH,[y] MOV [X],AH MOV AH,[X+1] SBB AH,[Y+1] MOV [X+1],AHMOV AH,[X+2] SBB AH,[Y+2] MOV [X+2],AH 计算后,变量x的值是01FD20H 你说的应该是这个题目吧 x 10 02 05 y F0 04 03 x20 FD 01 y F0 04 03

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网