鱼C论坛

 找回密码
 立即注册
查看: 3374|回复: 3

请问像一下这个程序,我怎么查看最后首字母是否变成大写了呢,怎么debug呢??谢谢

[复制链接]
发表于 2012-6-23 15:57:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
assume cs:codesg,ds:datasg. s- e) l3 r: L& f% w
datasg segment( X8 ?1 c) |" a! h+ r1 }8 B
        db '1.ibm   '% ]1 S% i2 O  E' g3 f6 z
        db '2.dec   '
: n* E) C% {" H% X1 p! w        db '3.dos   '( ?% ~! y$ E3 {5 d
datasg ends# e" W  h8 w. a7 ]6 ]' X
3 ?4 k) Z4 `+ {/ q# v( n7 \
codesg segment8 }, T9 X9 }3 A! y$ z
start:        mov ax,datasg9 G" t( ]# t! h) x( o' \
                mov ds,ax) E9 ~- p3 w2 y7 J
                mov bx,0
9 V6 R' M1 {- L" e               
5 M4 L) m" `; |$ {                mov cx,34 X! r* m% S- `
        s:        mov al,[bx+2]  @' J( Q' O. y. M
                and al,11011111b
2 Y" ]3 p2 |8 t) P& N' ?                mov [bx+2],al  k+ }) v. Z# o9 f0 v  {0 R
                add bx,16, @! J  A3 x; o/ V/ ~' i3 |
                loop s0 y: R5 }- k; S9 ?5 F
               
0 C5 m- |5 i/ M7 R& `- e3 D( |                mov ax,4c00h9 {& {7 Z6 y7 ]# }* P8 c4 j
                int 21h- P. |+ k, z4 }3 _
codesg ends
! u4 f% c8 o, q$ R( J) ~' O! W8 Lend start
; A# ^6 W* M$ Q. B& f2 j# ]6 a               
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-1 01:45:59 | 显示全部楼层
这个看小甲鱼的视频呢,不能传图,debug +你的文件名.exe  ,然后-r一下,找到数据段入口,我的是 mov ax,14c0,-g一下 这时显示program terminated normally  ,然后 -d 14c0:0000
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-8 15:43:35 | 显示全部楼层
都过去这么多天了,不知道您解决了没有....
' u) G, B/ b: y  q5 I4 _
4 ^5 k% H9 n, G5 T2 O2 N1 o  D/ @% n8 s8 m+ `. `  _( b3 E; S! ~
: C+ x# T# O1 N$ ?# {( ]# `
debug xxx.exe (xxx是你的文件名) 回车
# C/ W4 B- e# ]3 V" F4 i9 s. n. U! ]/ ^' U8 S
-u  (查看程序的汇编指令) 回车# Y  `8 t- a% O- t$ l/ I
4 L9 e4 X6 J9 _' [8 l" e
mov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)
9 B, o, R9 M+ |" S& b+ gmov ds, ax
0 U% c/ @3 n1 s6 c- F: T5 a" n/ Qmov bx, 05 J- S% g6 o/ k) z- M+ ^
(下面的指令,略)0 B1 s/ ~/ {" ^7 r, ?6 G1 `
9 `& Q' `( m$ E
-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】
. @( C& F1 F3 P8 g; ]% |4 b7 d( m# a0 A+ U! }- e) ]
-g (执行程序) 回车,就可以看到【program terminated normally】; }; k7 L5 r1 |  V" [6 A. ]* M

! _; T( e, [0 q& w! ~' Q# P然后,再次, M7 A  X' s* l, a1 s* g8 L9 d
. g$ ~8 y6 o5 E) g; i, W
-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】
7 Y. D3 f/ R' d& b2 N
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后4 H4 Q+ i- o# Y, z
-d  ds+10h:0! b# ~+ d8 N! K, X$ @, L0 ~
看要看的字母的数字 如果大于40小于61就是大写字母。
小甲鱼最新课程 -> https://ilovefishc.com

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-12-16 05:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表