汇编题目,请高手帮忙

作者&投稿:宗政询 (若有异议请与网页底部的电邮联系)
几道汇编题目,高手帮忙~

第一道:
DESG SEGMENT
TAB DW 01,22,33,44,55
NUM DW 3
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START:
MOV AX,DSEG
MOV DS,AX
MOV CX,TAB (CX=0001H)
MOV BX,OFFSET TAB (BX=0000H)
ADD BX,NUM (BX=0003H)
LP2:DEC BX (BX=0002H)
MOV AX,[BX+2] (AX=0021H,[BX+2]是首地址+2也就是第三个元素的值)
LOOP LP2
PPP:MOV AX,4C00H
INT 21H

该程序执行到PPP处:AX=0021H BX=0002H
; -----------------------------------------
第二道:
DSEG SEGMENT
BUFFER DB 'I AM A DOCTOR','$'
ADDR DB 20 DUP(?)
NUM DB 111,222,133,88,01,0,1,2,138
DISPP DW 2
DSEG ENDS
(1)执行下列指令后:
LEA BX,NUM ;BUFFER占14个字节,ADDR占20个字节,所以,BX=0022H
ADD BX,DISPP ;BX=0022H+0002H=0024H
MOV AX,WORD PTR[BX] ;WORD PTR[0024H]=133,88
AX=5885H(133=85H,88=58H,低字节在前,高字节在后) BX=0024H
(2)执行下列指令后:
XOR BX,BX
MOV AX,[DISPP]
MOV SI,OFFSET NUM
ADD BX,WORD PTR [SI]
AX=0002H BX=0DE6FH

BUF是定义的一个变量,该变量被分配了11个字,也就是22个字节
它的填充内容按字节顺序从地位到高位依次是: 01 00 ...该内容重复10遍,然后是 34H 12H
如果说的具体一点就是这样内容 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 34H 12H
DW 是定义字的伪指令,DD才是定义双子的伪指令。
DW定义为字属性的单元,可以在指令中直接按字访问,若想访问该字单元中的某一字节的话,应使用PTR伪指令。

1、ARRAY是空间变量名,在语境下是数组的首地址,但是不是十四个字节,而是18个字节,9个字。DB定义字节,DW定义字(1字=2字节),DD定义双字。DW后的每一个十进制数都占用两个字节。
2、ARYEND同ARRAY,也是空间变量名,在语境下是数组的首地址。?表示其空间内存放的是随机数。
3、有一二可知,CX内存放的是十进制数的个数。两者之差是字节数,而一个十进制数占用一个字,及两个字节,所以除以二,得到十进制数的个数。

ARRAY类似与CODE SEGMENT
ARTYEND类似与CODE ENDS
CX=9

array 定义了9个字数据,9*2=18个字节,地址从0到17,所以arrayend地址是18,所以 cx=(18-0)/2=9,也就是定义的字的个数,arrayend表示array的结束地址,里面存的数据没啥意义


C++基本编程题目,请高手帮忙解下!
x,y,z)<<endl;} 程序3:int fib(int n);int main(){ int n;cin>>n;cout<<fib(n);return 0;} int fib(int n){ if(n==1||n==2)return 1;else return (fib(n-1)+fib(n-2));} 都是很简单的问题,看看书应该可以会编的。如果有没达到目的的,再联系吧。祝楼主学习愉快 ...

请C++高手帮忙!一道简单的编程题!
include <iostream> using namespace std;typedef enum { LEFT,RIGHT,STOP }direction;\/\/发动机类 class engine { public:engine();~engine();public:void work();};\/\/方向盘类 class wheel { public:wheel();~wheel();public:direction dir; \/\/转向 };\/\/轮胎类 class tyre { public:tyre()...

请教高手帮忙编程序~~用matlab编写数值优化方法(最速下降法,惩罚函数法...
例1 求 f = 2 在0<x<8中的最小值与最大值 主程序为wliti1.m:f='2*exp(-x).*sin(x)';fplot(f,[0,8]); %作图语句 [xmin,ymin]=fminbnd (f, 0,8)f1='-2*exp(-x).*sin(x)';[xmax,ymax]=fminbnd (f1, 0,8)运行结果:xmin = 3.9270 ymin = -0.0279...

急!C++编程题,作业快到期了,请高手帮忙(因为是新手,只有这些分数了,全...
已经调试过了,三条的程序分列如下:第(1)问:include<string.h> class CVehicle { public:char *p_id;public:CVehicle(){strcpy(p_id,"京A00000");};\/\/初始化为 京A00000 CVehicle(const CVehicle &ve){strcpy(p_id,ve.p_id);};\/\/拷贝构造函数 ~CVehicle();set_id(const char *pId...

请高手用C语言帮忙做个编程的题目,谢谢了!
include <stdio.h> int IsDevided(int number,int dev){ if(number %dev == 0){ return 1;} return 0;} void EasyDone(int a){ int chose;int i,j;printf("Input your chose\\n1>能被3整除的"<Enter 1>","\\n2>能被5整除的<Enter 2>","\\n3>能被3或5整除的<Enter 3>\\n");s...

c语言编程题,高手请帮忙
2 include<stdio.h> void main(){ int a;for(int i=-9;i<=9;i+=2){ if(i<=0){ a=-i;} else{ a=i;} for(int j=1;j<=a;j++){ printf("*");} printf("\\n");} printf("\\n");} 3 include<stdio.h> void main(){ for (int i=9;i>0;i--){ for (int ...

请各位高手帮忙,编写下面的汇编题:要求写子程序段
DSEG SEGMENT GRADE DB 76,68,54,80,45,92,63,58,94,85 CNT DB 10 STR1 DB 'Please input grade :$'STR2 DB 0dh,0ah,'please input grade again:$'MES1 DB 'YES$'MES2 DB 'NO$'RESULT DB ?AVG DB ?DSEG ENDS CODE SEGME...

C语言题目1个,求高手帮忙解答,用VC++编定,谢谢了! 有10个学生,每个学生...
include<stdio.h> define N 10 typedef struct Stu { char num[15];char name[20];int grade1;int grade2;int grade3;}Student;int main(int argc, char* argv[]){ Student s[N];printf("请依次输入%d位学生的学号,姓名,3门课程的成绩",N);printf("用空格隔开\\n");printf("例如:\\n...

高手帮忙做下C语言的题目~!万分感谢!!
int a=10,b=50,c=30;则以下语句段的输出结果为( )。if(a>b) a=b;b=c; c=a;printf("a=%d b=%d c=%d\\n",a,b,c);选项:b、a=10 b=30 c=10 --- 以下程序段的输出值为( )。x=0;for(j=0;j<=6;j++) { if(j%2==0) continue;x+=j;} printf("x=%d\\n",x);...

JAVA高手帮帮忙。帮忙做几个题目。
就会执行init()方法。在Java Applet生命周期中,该方法只执行一次,因此可以利用这一点在init()方法中进行一些只需执行一次的初始化操作,例如对变量的初始化等。20.都不行 A中moon-sun B中class C中class D中int 还有一些没指出 21.class 22.前面12题说过 ...

宜阳县13437622878: 几个汇编题目,希望有高手能帮帮忙,加分哦 -
漳昂昆明: 1.MOV SS, 1.错误,立即数不能传送给段寄存器SS.可将SS改为通用寄存器,例如MOV SP,1等;或者将1改为存储器或通用寄存器,例如 MOV AX,1 MOV SS,AX.2.MOV AX, [SI][DI].错误,SI、DI均为变址寄存器,不能同时出现在指令中...

宜阳县13437622878: 几道汇编题目,高手帮忙 -
漳昂昆明: 第一道:DESG SEGMENT TAB DW 01,22,33,44,55 NUM DW 3 DSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG START: MOV AX,DSEG MOV DS,AX MOV CX,TAB (CX=0001H) MOV BX,OFFSET TAB (BX=0000H) ADD BX,...

宜阳县13437622878: 汇编题目,求高手啊帮忙,很重要...题目如下: 编写完整程序,调用DOS 21H中断中的1,2号功能,键盘输入 -
漳昂昆明: code segment assume CS:code start:mov ax,0 mov ah,1 int 21h;已完成输入一个字符的ASCII码放到al里 mov dl,al mov ah,2 int 21h;将刚才输入的字符直接输出到屏幕上 mov ax,4c00h int 21h;结束程序 code ends end start

宜阳县13437622878: 汇编语言的几道题目,请各位高手帮忙看看,谢谢!!...
漳昂昆明: 41.20H 42.段寄存器 43.15 44.(DS)*10H+(SI)+20H 45.AX 46.4512H,7845H 47.位,TEST 48.PROC,ENDM 49.X1 DB 37H;X2 DW 37H 50.寄存器,存储器 51.IP;CS和IP 52.地址总线和控制总线 53.IP,CS 54.XOR AX,AX或AND AX,0 55.指令,伪指令及宏指令 56.1D1H 57.SP 58.IP 59.物理地址 60.机器语言 61.汇编语言 62.堆栈 63.伪指令 64.指令 65.CPU

宜阳县13437622878: 简单的汇编题目!(我是初学者,麻烦大家进来看看帮帮忙啊)
漳昂昆明: 1、指令MOV AX,CNT GT 20H中的CNT GT 20H是一个逻辑表达式,CNT是一个常量,前面已经赋值,CNT='A',大写字母'A'的ascii码是:41h,大于20h,所以这个表达式的值是'真'(汇编语言中,真=-1,假=0,许多高级语言也是这样规定的),-1的16位补码表示就是FFFFH. 2、MOV BX,LENGTH TAB BX=1 长度属性操作符(LENGTH)是针对内存变量的操作符,它返回重复操作符DUP中的重复数.如果有嵌套的DUP,则只返回最外层的重复数;如果没有操作符DUP,则返回1. 实际上,长度属性操作符(LENGTH)是返回数组元素的个数.

宜阳县13437622878: 汇编题目,求高手帮忙解答下啊,其实很简单,但是我不会啊.
漳昂昆明: 1): code segment assume cs:code mov ax,700h int 21h and al,0dfh mov dl,al mov ah,2 int 21h mov ax,4c00h int 21h code ends end 2): data segment x db 3,2,1 data ends code segment assume cs:code,ds:data s:mov ax,data mov ds,ax mov al,x ...

宜阳县13437622878: 求汇编高手,解汇编题 -
漳昂昆明: MOV AX,0 ;AX=0000H DEC AX ;AX=0FFFFH ADD AX,7FFFH ;AX=7FFEH ADD AX,2 ;AX=8000H NOT AX ;AX=7FFFH SUB AX,0FFFFH ;AX=8000H ADD AX,8000H ;AX=0000H SUB AX,1 ;AX=FFFFH AND AX,58DIH ;AX=58D1H SAL AX,1 ;...

宜阳县13437622878: 汇编超简题,高手帮帮忙!!
漳昂昆明: assume cs:codes, ds:datas datas segment A dw 6 B dw -9 C dw 12 datas ends codes segment start: mov ax, datas mov ds, ax mov ax, A cmp ax, B jle L1 mov ax, B L1: cmp ax, C jle L2 mov ax, C L2: mov ax,4c00h int 21h codes ends end start

宜阳县13437622878: 请高手帮忙做道汇编程序题吧!!! -
漳昂昆明: (1)7EA3H CF=0 AF=1 PF=1 SF=0 ZF=0 OF=0(2)75A5H CF=1 AF=0 PF=1 SF=0 ZF=0 OF=0(3)314FH CF=0 AF=1 PF=1 SF=O ZF=O OF=O(4)05A4H CF=0 AF未定义 PF=0 SF=0 ZF=0 OF=0(5)75A5H CF=0 AF未定义 PF=1 SF=0 ZF=0 OF=0(6)3AD2H CF=0 AF未定义 PF=1 SF=0 ZF=0 OF=0(7)3AD2H CF=0 AF PF=1 SF=0 ZF=0 OF=0(8)75AAH CF=0 AF=0 PF=1 SF=0 ZF=0 OF=0做参考吧~~做的怕会有错,

宜阳县13437622878: 求高手帮忙做个汇编的题 我没学过汇编 而微机又要用到了 -
漳昂昆明: DATA SEGMENT x1 db "please enter your name:",'$' x2 db 0ah,"welcome!",0ah,0dh,'$' x3 db 0ah,"try again!",0dh,0ah,'$' x4 db "abc",0dh buf db 10 db ? db 10 dup(?) DATA ENDS stack segment stack db 100 dup(?) stack ends CODE ...

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