请大神帮忙用汇编语言做一下这道题。在内存地址为BUFF开始的单元存放有100个

作者&投稿:貊曹 (若有异议请与网页底部的电邮联系)
在内存地址为BUFF开始的单元存放有100个字节的带符号数。编一程序求其平均值并将结果存于x单元;汇编语言~

CODE SEGMENT ASSUME CS:CODE BUF DB 100 DUP(?) ; 这100个数 你自己设定 N EQU $-BUF X DB 0 Z DW 0 Y DW 0 START: PUSH CS ; 设定 ds、es 与 cs相同 POP DS PUSH CS POP ES LEA SI,BUF ; 取缓冲区偏移到 si MOV CX,N ; 设置循环计数器 CLD ; 清方向标志 MOV BX,0 ; 设置 累加变量 初值 @1: LODSB ; 装入数据到 al CBW ; 扩展为 字 ADD BX,AX ; 累加 CMP AX,0 JG @2 JL @3 JMP @4 @2: ADD Z,AX ; 加正数 JMP @4 @3: ADD Y,AX ; 加负数 @4: LOOP @1 MOV AX,BX ; 累加 值 转到 ax MOV BL,N ; 设置除数 IDIV BL ; 带符号 除法 MOV X,AL ; 保存商 MOV AH,4CH INT 21H CODE ENDS END START

从2开始的偶数,向大的方向变化有负数吗!

dseg segment
  buf db 20,40  ;自定义100个数据
  cnt equ $-buf
  x   dw 0
  y   dw 0
  z   dw 0
  t    db '0123456789ABCDEF'
  msg0 db 0dh, 0ah, 'Ave  number = $'
  msg1 db 0dh, 0ah, 'Odd  number = $'
  msg2 db 0dh, 0ah, 'Even number = $'
dseg ends
assume cs:cseg, ds:dseg
cseg segment
start:
   mov ax, dseg
   mov ds, ax

   mov cx, cnt
   lea si, buf
@0:
   mov al,[si]
   cbw
   add x, ax
   test ax, 1
   jz @1
   inc y
   jmp @2
 @1:
   inc z
@2:
   inc si
   loop @0

   mov ah,9
   lea dx, msg0
   int 21h

   mov bx, cnt

   mov ax, x
   xor dx, dx
   div bx
   call printHex

   mov ah,9
   lea dx, msg1
   int 21h

   mov ax, y
   call printHex   

   mov ah,9
   lea dx, msg2
   int 21h

   mov ax, z
   call printHex   

   mov ah,4ch
   int 21h

;print (ax) in Hex
printhex proc near
  lea bx, t
  mov cl, 4
  mov ch, 4
  mov dx, ax
  mov ah, 0eh
h0:
  rol dx, cl
  mov al, dl
  and al, 0Fh
  xlat
  int 10h
  dec ch
  jnz h0
  ret
  mov ah,0dh
  int 10h
  mov al, 0ah
  int 10h
printhex endp

cseg ends
end start



汇编语言:编写一段程序,以十六进制的形式显示内存0000H:0000H开始的...
;没调优,凑付着看吧。assume cs:cseg cseg segment start:mov ax, 0 mov ds, ax mov si, 0 mov ah, 0eh L0:mov cx, 16 L1:cmp si, 100 jz exit mov al,[si]call printhex inc si loop L1 mov al,0dh int 10h mov al,0ah int 10h jmp L0 exit:mov ah,4ch int 21h pri...

汇编语言除法,AX里的内容是0BB8H。BL里的内容是05H。为什么命令DIV BL...
CPU 执行除法指令(如:DIV CX、DIV BL)时,是有可能溢出的。如果被除数较大,或除数较小,都可能使“商”超出预定位数,此时,就会溢出。特别是当除数为零时,必然会出现:Divide overflow。直接使用 DIV 指令,有一定的风险,一不小心就溢出了。特别是数字不明确的时候。因此,在执行 DIV ...

单片机汇编语言,求大神帮忙看下程序什么意思
程序很简单,就是让P1口全高电平一小段时间(执行DELAY延时子程序所需时间)后,再让P1口全低电平持续20倍的时间,不断重复上述过程。ORG 0000H START: MOV P1,#0FFH ;让P1口全高电平 ACALL DELAY ;一小段时间(调用一次DELAY延时子程序)MOV R2,#14H ;20倍 MOV P1,#00H ;再...

...按照我的要求帮我编一个99倒计时到0的汇编语言的程序 ,不要用DIV...
ORG 0000HLJMP MAINORG 000BHLJMP T0ISRORG 0030HMAIN: MOV TMOD,#01H MOV TH0,#HIGH(65536-10000) MOV TL0,#LOW(65536-10000) SETB ET0 SETB EA MOV R0,#9 MOV R1,#9 MOV R2,#0 MOV R3,#9 CLR 00H CLR 01HLOOP: JB P1.0,LP01 JNB P1.0,$ SETB TR0 CL...

大神帮忙编制一个程序,用汇编语言。
PORTA EQU P1.0 PORTB EQU P1.1 PORTC EQU P1.2 PA EQU P1.4 PB EQU P1.5 PC EQU P1.6 PD EQU P1.7 ORG 0000H LJMP MAIN ORG 0030H MAIN:CLR PA CLR PB CLR PC CLR PD JNB PORTA,MAIN SETB PA JB PORTB,MAINB1 MAINB0:JNB PORTC,MAINC0 CLR PB SETB PC CLR PD JB...

汇编语言,求大神帮忙改一下,结果只会显示第一个的数据,字数限制,数据...
…… MOV AH,01H INT 21H CRLF CMP AL,'0' ;应该加上引号 JZ AAB CMP AL,'1' ;应该加上引号 JZ BBB CMP AL,'2' ;应该加上引号……

求大神帮忙写一个可以取“1至5”的乱数汇编语言程序,紧急
ORG 0000H LJMP MAIN ORG 0030H MAIN:MOV TMOD,#01H MOV TH0,#0 MOV TL0,#0 SETB TR0 LOOP:MOV A,TL0 XLR A,TH0 MOV B,#5 MOV R2,A DIV AB MOV A,B INC A MOV P0,A LCALL DELAY SJMP LOOP DELAY:DJNZ R2,RET END

编程题目的问题1,求帮忙写下汇编语言,求大神帮忙,愿意帮的能+下q...
R1, A JNC NEXT ;无进位转移 INC R2 ;高位加一 NEXT:INC DPTR DJNZ R3, LOOP MOV DPTR, #2500H MOV A, R1 MOVX @DPTR, A INC DPTR MOV A, R2 MOVX @DPTR, A SJMP END 总共仅有 82 个数,统计个数,却要用 16 位数,两个字节。呵呵 ...

如何用汇编语言判断一组数据正负并统计其正数和负数的总个数,再放到...
COUNT_NUM_0 DATA 30H ;存放0的个数 COUNT_NUM_P DATA 31H ;存放正数个数 COUNT_NUM_N DATA 32H ;存放负数个数 ORG 0000H AJMP MAIN ORG 0100HMAIN: MOV A,#0 MOV 31H,A MOV 32H,A MOV 33H,A MOV R7,#30;这组数据总个数,假设有30个 MOV R0,#00...

汇编语言大神帮我做一份题目,补码01010101的真实值是?万分感谢
我也在学汇编,题主有答案了拜托告诉我有什么错误

连南瑶族自治县13636531954: 求汇编语言大神解这道题 -
夹胡莫迪: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23验证程序如下:CODE SEGMENTASSUME CS:CODEDA2 DW 'AC','BD' START:PUSH CSPOP DSPUSH CSPOP ESMOV AX,WORD PTR DA2+1 MOV AH,4CHINT 21...

连南瑶族自治县13636531954: 汇编语言初学者问题麻烦大神看看这道题目:有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元.则SA应满足的条件是... -
夹胡莫迪:[答案] 物理地址是:20000H. 段地址为SA, 偏移地址可以是:0000H~FFFFH. 则SA应满足的条件是:最小为__1001H__,最大为__2000H__.

连南瑶族自治县13636531954: 大神帮个忙 用汇编语言求最大值最小值问题 数据为dw,12,4,55,32,26 谢谢了 -
夹胡莫迪: .........data: dw 12,4,55,32,26................mov cx,4 ;要处理的数据个数-1lea si,datamov bx,[si] ;用于放最小数,先将第一个数取出,做为当前最小的数mov dx,[si] ;用于放最大数add si,2loop1:mov ax,[si] ;从DATA取一个数放在AX中,...

连南瑶族自治县13636531954: 请问哪位老兄帮忙可以帮我解决一下下面这个问题 用汇编语言编写程序段, -
夹胡莫迪: 第一种方法:用循环实现,代码如下: data segment STRING DB 'The date is FEB&03' count equ $-string data ends code segment assume ds:data,cs:code start: mov ax,data mov ds,ax lea si,string mov cx,count next: cmp byte ptr [si],'&' jnz next1 ...

连南瑶族自治县13636531954: 【汇编语言】 根据题目用汇编语言编一个程序 求大神求解! -
夹胡莫迪: 框架:分配内存空间 NUM DB 30 DUP (?),最高分MAX DB ?与最低分MIN,总分SUM和平均成绩AVG 键盘输入:MOV AH,1 INT 21H 显示:MOV DL,ASCII码(加30H) MOV AH,2 INT 21H(输出回车换行0DH,0AH) 查找最高分...

连南瑶族自治县13636531954: 请高手帮我用汇编语言做一个当P0.1脚下有3个高电平输入时,P3.0脚就输出高电平电程序 -
夹胡莫迪: CLR P3.0 MOV R7,#00H SETB P0.1 LOOP: JNB P0.1,$ ;等待高电平输入,在程序运行前需要保证该引脚为低电平 INC R7 ;如果是按键输入,需要加入消抖程序:延时一段时间,再判断P01电平 CJNE R7,#3,LOOP1 SETB P3.0 JMP $ LOOP1: JB P0.1,$ JMP LOOP END

连南瑶族自治县13636531954: 请哪位高手帮忙用汇编语言编写一段程序,求三个带符号字节数据中的最大值,并将该最大值存入MAX字单元中. -
夹胡莫迪: n1 db 1,99,-2 max db 0..mov bx,offset n1 mov al,[bx] cmp al,[bx+1] jg s1 mov al,[bx+1] s1:cmp al,[bx+2] jg s2 mov al,[bx+2] s2:mov max,al

连南瑶族自治县13636531954: 请教大神,汇编语言,编写一个统计AX中1的个数的程序,统计结果放在CL中.
夹胡莫迪: ASSUME CS:CODE CODE SEGMENT START: MOV AX,1110011111110001B;假设现在AX有11个1 XOR CX,CX;将CX清零 MOV CH,16 NEXT:TEST AX,0001H; TEST和AND的功能差不多,只是TEST不改变AX的值 ;让0000 0000 0000 ...

连南瑶族自治县13636531954: 小白求好心大神.汇编语言题:按下面要求写一个完整段定义格式的源程序 -
夹胡莫迪: data segment dword 'data' arr db 100 dup(?) data ends stack segment para stack dw 200 dup(?) top dw $ stack ends code segment word 'code' assume cs:code,ss:stack,ds:data,es:data org 100h start:mov ax,seg stack mov ss,ax mov sp,top mov ...

连南瑶族自治县13636531954: 用汇编语言或者C语言实现以下功能,求大神帮助,有四个按键和四个灯. -
夹胡莫迪: 小伙子,你就按照这个思路写吧,记得采纳.#include "stdafx.h"#include #include using namespace std; void LampON(int S) { printf("S%d灯亮了!",S+1); } void LampOFF(int S) { printf("S%d灯灭了!",S+1); } bool CheckSwitch(bool ...

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