高分悬赏!!!!急求汇编答案!!!!!

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-08-27
急求!!汇编作业 高分悬赏

data segment
b db 255,0,255 dup(?),'$';定义缓冲区,用于0AH号功能调用从键盘接收字符
m1 db 'input a string:$';定义提示信息,用于提示从键盘输入字符
m3 db 'numbers of word:$';定义提示信息,用于显示大写字母字符个数
letter db 0;定义缓冲区,用于存放字母字符个数
data ends

code segment
assume cs:code,ds:data
start:
mov ax,data;数据段物理定位
mov ds,ax

mov dx,offset m1 ;用9号功能调用提示信息,用于提示从键盘输入字符
mov ah,09h
int 21h

call crif;调用子程序,实现回车换行功能

mov dx,offset b;用0AH号功能调用从键盘接收字符
mov ah,10
int 21h

call crif;调用子程序,实现回车换行功能

mov di,offset b
INC DI
MOV CL,[DI];将实际接收的字符个数存入CX中
MOV CH,0
XOR BX,BX ;bx清零
nextcmp:INC di
mov al,[di] ;判断接收到缓冲区的字符的情况
CMP AL,'A'
JL next;小于转去判断小写字母
CMP AL,'Z'
JG next;小于转去判断小写字母
INC letter; 'A'-'Z'之间,将字母个数加1
NEXT:
CMP AL,'a'
JL next1;小于转下一个字符
CMP AL,'z'
JG next1;小于转下一个字符
sub al,20h;'a'-'z'之间,将小写转换成大写
mov [si],al
INC letter; 将字母个数加1
next1:
inc si
loop nextcmp

PUSH BX
mov dx,offset m3;显示提示信息,用于显示字母字符个数
mov ah,9
int 21h

mov bl,letter;显示字母字符个数
call disp8

mov ah,1;按任意键结束程序
int 21h

mov ax,4c00h;结束程序
int 21h

crif proc near
mov dl,0ah;显示输出换行
mov ah,02h
int 21h

mov dl,0dh;显示输出回车
mov ah,02h
int 21h

ret
crif endp

DISP8 proc near
mov ch,2
rotate:
mov cl,4
rol bl,cl
mov al,bl
and al,0fh
add al,30h
cmp al,3ah
jl printit
add al,7h
printit:
mov dl,al
mov ah,2
int 21h
dec ch
jnz rotate
RET
disp8 endp
code ends
end start

“小明说:如果我不知道的话,那小刚一定也不知道。”
小明这样说,就说明在他知道的月份中肯定不含单一的数字7和2,这样小刚才肯定不知道。这里就可以排除六月和十二月的。
剩下的就是三月份和九月份的。
“小刚说:本来我不知道,现在我知道了。”
小刚这样说,就说明他知道的日期在这十组数字里面出有两组中含有,而且有一组在六月或十二月里,被排除掉了,这样他才知道是几月几号。
就在3.4,3.8,9.1三组之中。排除3.5和9.5,因为如果是这两组中的,小刚就不知道。
“小明说:那我也知道了”
小明说这句话,说明小明从小刚的话中得出日期不是5,因为是五的话小刚就不知道。知道了日子不是5号,小明就知道了答案。
所以:最后答案是:9月1号。
现在高考题怎么这么难哦?真是害死脑细胞。。花掉我半个小时。。

6道题才100分啊?? 就先做4道吧,分少、又是在帮人作弊,没激情啊……

2.01

.model small
.stack 8192
.data
prompt db 'N=$'

.code
main: mov ax,@data
mov ds,ax
assume ds:@data

mov dx,offset prompt
mov ah,9
int 21h

getkey:
mov ah,8 ;dos call getkey w/o echo
int 21h
cmp al,27 ;escape key for quit
je done

mov dl,al ;save to dl for echo
sub al,'0'
jbe getkey
cmp al,9
ja getkey

push ax
mov ah,2 ;echo keypress
int 21h
call crlf
pop ax

cbw
mov si,ax ;save n into si
mov di,1
lp1:
mov cx,di
mov dl,'*'

lp2: mov ah,2
int 21h
loop lp2

call crlf

inc di
cmp di,si
jna lp1

done: mov ah,4ch
int 21h

crlf proc
mov ah,2
mov dl,13 ;cr
int 21h
mov dl,10 ;lf
int 21h
ret
crlf endp

end main

2.02
ARRAYSIZE equ 100

.model small
.stack 8192
.data
negative_sum_result dd 0
positive_sum_result dd 0
array dw ARRAYSIZE dup (?)

.code
main: mov ax,@data
mov ds,ax

mov cx,ARRAYSIZE
cld
lp: lodsw
mov bx,offset positive_sum_result
cmp ax,0
jg pos
mov bx,offset negative_sum_result
pos: add word ptr [bx],ax
adc word ptr [bx+2],0
loop lp

mov ah,4ch
int 21h

end main

2.03
.model small
.stack 8192
.data
array dw 8,3,1,4,6,9,8,0,-1,-3

.code
main: mov ax,@data
mov ds,ax
mov es,ax
assume ds:@data,es:@data

mov ax,10
push ax
mov ax,offset array
push ax
call bsort
add sp,4

done: mov ah,4ch
int 21h

bsort proc near
v equ word ptr [bp+2]
n equ word ptr [bp+4]
mov bp,sp
mov bx,v
mov cx,n
dec cx

xor si,si ;i*2
add cx,cx

lpi: cmp si,cx
jge bs_done

xor di,di ;j*2
lpj: push cx
sub cx,si
cmp di,cx
pop cx
jge lpi9

mov ax,[bx+di] ;v[j]
cmp ax,[bx+di+2] ;>v[j+1]?
jle lpj9

xchg ax,[bx+di+2] ;swap ax,v[j+1], note at this moment ax=v[j]
mov [bx+di],ax ;v[j]:=v[j+1]

lpj9: inc di
inc di
jmp lpj

lpi9: inc si
inc si
jmp lpi

bs_done:
mov sp,bp
ret
bsort endp

end main

2.04
.model small
.stack 8192
.data
prompt db 'How many row for the triangle? = $'
errmsg db 'the number of row should be in range of [1..39].',13,10,10,36
ten db 10
mydata db 3 dup (?)
bksp db 8,' ',8,36

.code
main: mov ax,@data
mov ds,ax
mov es,ax
assume ds:@data,es:@data

input: mov dx,offset prompt
mov ah,9
int 21h

call getnum
jc done ;enter key pressed on an empty line
or ax,ax
jz err
cmp ax,39
jle draw
err: mov dx,offset errmsg
mov ah,9
int 21h
jmp input

draw: mov si,ax ;save n into si
mov di,1

lp1: mov cx,si ;cx=n-row()
sub cx,di ;number of white spaces before the asterisks
jcxz draw2
mov dl,' '
lp11: mov ah,2
int 21h
loop lp11

draw2: mov cx,di
mov dl,'*'
add cx,cx ;cx=row()*2-1, number of asterisks should be printed in the current row
dec cx

lp2: mov ah,2
int 21h
loop lp2

call crlf

inc di
cmp di,si
jna lp1

done: mov ah,4ch
int 21h

crlf proc
mov ah,2
mov dl,13 ;cr
int 21h
mov dl,10 ;lf
int 21h
ret
crlf endp

getnum proc
xor cx,cx
mov di,offset mydata

g_1: mov ah,8
int 21h

cmp al,13
jne g_3

call crlf
jcxz g_2

xor ax,ax
mov si,offset mydata
g_9: mul ten
mov dl,[si]
sub dl,'0'
xor dh,dh
add ax,dx
inc si
loop g_9
clc
ret

g_2: stc
ret

g_3: cmp al,8
jne g_4
jcxz g_1
dec cx
dec di
mov dx,offset bksp ;
mov ah,9
int 21h
jmp g_1

g_4: cmp cx,3
jae g_1
cmp al,'0'
jb g_1
cmp al,'9'
ja g_1
mov dl,al
push ax
mov ah,2
int 21h
pop ax
stosb
inc cx
jmp g_1
getnum endp
end main

  • 高分悬赏!!!急求汇编答案!!!
    答:6道题才100分啊?? 就先做4道吧,分少、又是在帮人作弊,没激情啊……2.01 .model small .stack 8192 .data prompt db 'N=$'.code main: mov ax,@data mov ds,ax assume ds:@data mov dx,offset prompt mov ah,9 int 21h getkey:mov ah,8 ;dos...
  • kkk~~~急救!高分悬赏
    答:(1)设A种类型店面x间,B种类型店面y间 x+y=80 80%*2400≤28x+20y≤85%*2400 解得 44≤x≤55 (2)x*75%*400*12+y*90%*360*12≥280000 解得 x≤107 如果只收28万,则目标无法实。如至少是28万,则各种组合都可以实现。
  • 急求!!汇编作业 高分悬赏
    答:b db 255,0,255 dup(?),'$';定义缓冲区,用于0AH号功能调用从键盘接收字符 m1 db 'input a string:$';定义提示信息,用于提示从键盘输入字符 m3 db 'numbers of word:$';定义提示信息,用于显示大写字母字符个数 letter db 0;定义缓冲区,用于存放字母字符个数 data ends code segment assum...
  • 急急急!!! 急求答案!有高分悬赏!!20——40分
    答:设三年级编了x本,则五年级编了4.2x本 由题意得:4.2x-x=640 3.2x=640本 x=200 答:三年级编了200本,五年级编了(x+640)=840 解:设三年级编了X本,五年级编了 X+640本 X+640=4.2X X+640-X=4.2X-X 640=3.2X 3.2X=640 3.2X除以3.2=640除以3.2 X=200 200+640=840...
  • 快,高分悬赏啊 我要正确的答案!
    答:1、体会省略号的用法。A、表示文中省略的部分。 B、表示声音断断续续。 C、表示语意含蓄,让读者去想象。①“唉!西蒙死了。两个孩子那么小……一个还不会说话,另一个刚会爬……”桑娜沉默了。(B、表示声音断断续续。)②风筝花花绿绿,各式各样:有“蜈蚣”、有“蜻蜓”、有“仙鹤”…...
  • 高分悬赏!!!急求急求!!!急急急!!!
    答:快车速度=720/8=90,慢车=720/12=60。相遇时间=(720+90*2)/(90+60)=6小时。答:两车开出后6小时相遇。
  • 高分悬赏!关于汇编语言的一些问题!
    答:1 assume cs:code, ds:datas datas segment var db 100, 77, 69, 201, 32, 148 answer db 0 datas ends code segment start:mov bx, datas mov ds, bx mov cx, 6 mov bx, offset var xor ax, ax mov si, 0 next:add al, [bx+si]inc si loop next mov [answer], al mov ...
  • 六年级数学题(高分悬赏)急!
    答:1.(六分之五-四分之三)除以十二分之五除以五分之九 等于(六分之五-四分之三)乘五分之十二乘九分之五 等于(六分之五乘五分之十二减四分之三乘五分之十二)乘九分之五 等于(二减五分之九)乘九分之五 等于五分之一乘九分之五 等于九分之一 2.(1-四分之三*三分之二)除以2...
  • 高分悬赏数学题 点击进入!
    答:n的意思是,三角形的每条边有几个点,比如第一个三角形总共三个点,就是说第一个三角形的S值是3.然后三角形有三条边,第一个三角形每条边有两个点,那么第一个三角形的n值就是2,第二个三角形呢,一共有六个点,所以它的S值是6,每条边是三个点,所以它的n值是3.第三个三角形总共有9...
  • 连云港!急救,高分悬赏
    答:全市有风景区14个,风景点116处,素有“东海第一胜境”之称,是全国49个重点旅游城市和江苏3大旅游区之一。连云港集名山(花果山)、名海(黄海)、名水(东海温泉)、名竹(金镶玉竹)、名石(水晶)、名书(《西游记》、《镜花缘》等)、名“气”(连云港空气质量全国最好)、名井(亚洲第一井)于一地,...