![]() |
| ||
| A simple problem can anyone help I'm writing a program in assebly using x86 intel processor series and a flat model can anyome suggest anything about this? ;;;;;;;;;;;;;;;;;;; input string,40 ;the user enter a characher 'q' for instance atod string ; now the value in eax as decimal ;;i need to compare the number and if is 'q' to quit ;;i've tried this senario cmp eax,'q' jz quit ;;;;;;not working cmp al,'q' ;;;;;;not again jz quit cmp eax,113 ;;;;where 113 is the decimal ascii value of 'q' jz quit cmp al,113 ;;;;;nothing jz quit cmp al,71 ;;;i didnt not make the convertion here atod ;;and nothing again 71 is hex of 'q' cmp eax,113 ;;;;same;;nothing can anyone help? Thanks in advance ;;;;;;;;;;;;;;;;;;; |
| ||
| Re: A simple problem can anyone help What is the underlying operating system, or are you using BIOS calls. In any event, EAX won't work because especially in the case of ASCII only an 8 bit value is returned and you are comparing a 32 bit value and may not know at any given time what the value of bits 31 - 8 are. Comparing cmp al,'q', should work except where caps lock may be on then you would have to compare against 'Q'. The method I usually use is to implement a case insensitive comparison where I'll convert all characters in AL to upper or lower case. mov al, [Character] |
| ||
| Re: A simple problem can anyone help Quote:
Thanks Tight_Coder_Ex You made it clear to me thanks.Problem solved. |
| ||
| Re: A simple problem can anyone help give me complete program i'll solve it.. |
| All times are GMT -4. The time now is 9:12 am. |
Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC