| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 938 人关注过本帖
标题:[求助]急用的几道编程题~~
只看楼主 加入收藏
whmilys
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-1-3
收藏
 问题点数:0 回复次数:3 
[求助]急用的几道编程题~~

帮忙写一下几个小程序~~急用啊~~考试了~~~救命啊~~~
1.设在A,B和C单元中分别存放着三个数。若三个数都不是0,则求出三数之和并存放于D单元中;若其中有一个数为0,则把其他两个单元也清零。请编写此程序。
2.从键盘输入一系列字符(以回车符结束),并按字母、数字及其他字符分类计数,最后显示出这三类的计数结果。
3.已定义了两个整数变量A和B,试编写程序完成下列功能:
(1)若两个数中有一个是奇数,则将奇数存入A中,偶数存入B中。
(2)若两个数均为奇数,则将两数均加1后存回原变量。
(3)若两个数均为偶数,则两个变量均不变.

搜索更多相关主题的帖子: 变量 奇数 单元 定义 
2007-01-03 23:36
曾小
Rank: 1
等 级:新手上路
威 望:1
帖 子:239
专家分:0
注 册:2006-9-27
收藏
得分:0 
这是课本上的练习吧?
呵呵!
我也正在做哦!
我也希望高手出来拔刀相助!

2007-01-04 19:04
曾小
Rank: 1
等 级:新手上路
威 望:1
帖 子:239
专家分:0
注 册:2006-9-27
收藏
得分:0 

下面是第二题的:(谢谢langzi1190
data segment

count_char db 80,0,80 dup(?)

letter db ?

number db ?

other db ?

message1 db 'input a string!','$'

message2 db 'the string contains numbers: ','$'

message3 db 'the string contains letters: ','$'

message4 db 'the string contains other ascii :','$'

flag db 0
data ends
code segment

assume cs:code,ds:datastart: mov ax,data

mov ds,ax


lea dx,message1

mov ah,09h

int 21h


lea dx,count_char

mov ah,0ah

int 21h


mov dl,0dh

mov ah,02h

int 21h

mov dl,0ah

mov ah,02h

int 21h


mov bh,0h

mov bl,0h

mov al,0h

mov si,02h

mov cl,count_char[1]

mov ch,0hloop1:
cmp count_char[si],7bh;'{'

jl jmpa1

jmp loopa
jmpa1:
cmp count_char[si],'a'

jl jmpz1

jmp loopb
jmpz1:
cmp count_char[si],5bh;'['

jl jmpa2

jmp loopa
jmpa2:
cmp count_char[si],'A'

jl jmp9

jmp loopb
jmp9:
cmp count_char[si],3ah;':'

jl jmp1

jmp loopa

jmp1:
cmp count_char[si],2fh;'/'

jg loopc

jmp loopa

loopa:
inc bh

inc si

loop loop1

jmp finish
loopc: inc al

inc si

loop loop1

jmp finish
loopb:
inc bl

inc si

loop loop1

finish:
mov dl,count_char[1]

sub dl,bh

sub dl,bl

mov letter,bl

mov other,bh

mov number,dl


lea dx,message2

mov ah,09h

int 21h

mov bl,number

jmp output

back:
cmp flag,02h

jz back1

lea dx,message3

mov ah,09h

int 21h

mov bl,letter

jmp output

back1: lea dx,message4

mov ah,09h

int 21h

mov bl,other


int 21h

mov bl,other

output:
mov bh,0h

mov ch,2rotate1:
mov cl,4

rol bl,cl

mov al,bl

and al,0fh

add al,30h

cmp al,3ah

jl printit1

add al,7h

printit1:
mov dl,al

mov ah,02h

int 21h

dec ch

jnz rotate1


mov dl,0dh
; enter a new line

mov ah,02h

int 21h

mov dl,0ah

mov ah,02h

int 21h

inc flag


cmp flag,03h

jl back

mov ah,4ch

int 21h
code ends

end start


2007-01-04 19:36
曾小
Rank: 1
等 级:新手上路
威 望:1
帖 子:239
专家分:0
注 册:2006-9-27
收藏
得分:0 

看看哦!有问题再说!!!
第一题:
DSEG SEGMENT
A DW 12
B DW 33
C DW 52
D DW ?
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START:
MOV AX,DSEG
MOV DS,AX
MOV AX,A
ADD AX,B
ADD AX,C
JNZ STEP
CMP A,0
JZ ONE
MOV AX,0
MOV A,AX
JMP ONE
STEP: MOV DX,A
ADD DX,B
ADD DX,C
MOV D,DX
JMP THREE
ONE: CMP B,0
JZ TWO
MOV AX,0
MOV B,AX
TWO: CMP C,0
JZ THREE
MOV AX,0
MOV C,AX
THREE:RET
CSEG ENDS
END START


2007-01-05 19:14
快速回复:[求助]急用的几道编程题~~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034254 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved