pokk
Помогающий
Offline
|
|
« : 17-05-2011 13:35 » |
|
здравствуйте опять я что-то не не могу понять задание что надо сделать надо "Написать программу преобразования двухбайтового кода ASCII в соответствующее однобайтовое число"
Везде где не искал всё натыкаюсь на таблицы от которых легче не становится. Единственное что нашёл в пример в лекции но тут он один и не очень понятный. 48-> 0100 1000
0011 0100 0011 1000
вот тут мне не понятно откуда взялось 0011 это всегда так ?
|
|
|
Записан
|
|
|
|
darkelf
Молодой специалист
Offline
|
|
« Ответ #1 : 17-05-2011 13:41 » |
|
Как я понимаю у Вас на входе программы два байта - '4' и '8', на выходе - один байт со значением 48.
|
|
|
Записан
|
|
|
|
pokk
Помогающий
Offline
|
|
« Ответ #2 : 17-05-2011 13:45 » |
|
Это я тоже понял так в чём задание ? Взял их друг за другом сразу и записал в массив так вот там ещё есть число 3 получается только от него избавится надо и всё ?
аа всё дошло кажись на выходе должно быть 30h=48 ну это думаю тоже не сложно по схеме Горнера сделать
так вот с числом 3 оно там всё время будет ? или там может появлять другие цифры ?
|
|
« Последнее редактирование: 17-05-2011 13:48 от pokk »
|
Записан
|
|
|
|
darkelf
Молодой специалист
Offline
|
|
« Ответ #3 : 17-05-2011 13:49 » |
|
Если Вы их просто друг за другом поставите, то это уже будет, наверное, не один байт, а два. А в лекции это уже вообще двоично-десятичный формат, имхо. К сожалению что у Вас 0011, 0100 и 1000 я тоже не знаю.
|
|
|
Записан
|
|
|
|
Dale
|
|
« Ответ #4 : 17-05-2011 14:08 » |
|
Единственное что нашёл в пример в лекции но тут он один и не очень понятный. 48-> 0100 1000
0011 0100 0011 1000
вот тут мне не понятно откуда взялось 0011 это всегда так ? Каковы коды ASCII для литер '0', '1', ... '9'?
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
pokk
Помогающий
Offline
|
|
« Ответ #5 : 17-05-2011 14:42 » |
|
Каковы коды ASCII для литер '0', '1', ... '9'? не знаю что такое литер но полагаю это как раз моя тройка видел тут такую надпись (0-9)=0011 цифра так что ответ на ваш вопрос 0011 ?
|
|
|
Записан
|
|
|
|
Dale
|
|
« Ответ #6 : 17-05-2011 16:21 » |
|
Литера - это печатный знак: буква, цифра, знак препинания... Их часто называют символами, но это совершенно безграмотно, поскольку символ - это совершенно другое понятие.
Чтобы представить литеры в памяти компьютера, их нумеруют в некотором порядке, номер литеры называют ее кодом. Существуют различные системы такой нумерации, одна из наиболее часто употребимых - ASCII (American Standard Code for Information Interchange).
Найдите таблицу кодов ASCII, поищите в ней коды литер, соответствующих арабским цифрам, и вам сразу же станет понятно, откуда берется магическое сочетание 0011.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Антон (LogRus)
|
|
« Ответ #7 : 18-05-2011 06:19 » |
|
pokk, а вот это "Написать программу преобразования двухбайтового кода ASCII в соответствующее однобайтовое число" это дословно текст задания?
если я его правльно понял, то оно должно звучать несколько иначе, например: Дана строка содержащая десятичное представление ASCII кода арабской цифры, например, "51" - необходимо преобразовать ASCII цифры в значение цифры Хотя моя формулировка тоже не сильно прямая
|
|
|
Записан
|
Странно всё это....
|
|
|
pokk
Помогающий
Offline
|
|
« Ответ #8 : 18-05-2011 11:12 » |
|
Dale, спасибо за ответ теперь стало понятно Антон (LogRus), да это дословное задание
В общем чего я понял дано 2 байта массиве к примеру 0011 0100, 0011 1000 старшие 4 бита как бы в данной работе не нужны по этому умножаю на число 00001111 получаю 0100,1000 далее (0100*1010+1000)=110000 (4*10+8)=48
я правильно понимаю ?
|
|
|
Записан
|
|
|
|
Dale
|
|
« Ответ #9 : 18-05-2011 11:30 » |
|
Теперь все сходится.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
pokk
Помогающий
Offline
|
|
« Ответ #10 : 18-05-2011 11:54 » |
|
старшие 4 бита как бы в данной работе не нужны по этому умножаю на число 00001111 получаю 0100,1000 вот тут не умножать а команду and использовать погорячился я что-то с умножением =)
|
|
|
Записан
|
|
|
|
Dale
|
|
« Ответ #11 : 18-05-2011 12:36 » |
|
Это и есть логическое умножение.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
pokk
Помогающий
Offline
|
|
« Ответ #12 : 18-05-2011 16:37 » |
|
написал вот что model small .data V1 dw 00110101b,00110011b V2 dw 1 DUP(?) .code mov ax,@data mov ds,ax mov si,0 mov cx,3 next: mov bx,00001111b mov ax,V1[si] and ax,bx mov v2[si],ax inc si loop next mov si,0 mov bx,1010b mov ax,v2[si] mul bx add ax,V2[si+2] mov V2[si+5],ax mov ax,4c00h int 21h end Всем спасибо за помощь
|
|
|
Записан
|
|
|
|
Антон (LogRus)
|
|
« Ответ #13 : 19-05-2011 03:37 » |
|
который раз перечитываю тему и вот что немогу понять, КАК, КАК из описания задачи "Написать программу преобразования двухбайтового кода ASCII в соответствующее однобайтовое число" можно понять, что тут надо делать Dale, pokk, вы телепаты
|
|
|
Записан
|
Странно всё это....
|
|
|
Dale
|
|
« Ответ #14 : 19-05-2011 05:35 » |
|
Эх, Антон, выучили бы вы уму-разуму столько студентов, сколько я в свое время, тоже научились бы понимать невысказанное... Я уже привык к тому, что они смотрят умными глазами, а сформулировать не могут Главное - искусство правильно задавать наводящие вопросы. Например, вопрос "в каких единицах измеряется сила тока?" - это удар ниже пояса, верная двойка со всеми вытекающими. А вот вопрос: "не в амперах ли измеряется сила тока?" - это уже совсем другое дело, конструктивный подход. Ну и плюс два гуманитария дома, а с кошкой даже три... Благодаря этому я совершенно не теряюсь с правильными ответами на вопросы типа "ты тогда сделал это там?".
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
darkelf
Молодой специалист
Offline
|
|
« Ответ #15 : 19-05-2011 05:48 » |
|
написал вот что V1 dw 00110101b,00110011b V2 dw 1 DUP(?)
...
Всем спасибо за помощь А почему у Вас V1 и V2 dw?
|
|
|
Записан
|
|
|
|
pokk
Помогающий
Offline
|
|
« Ответ #16 : 19-05-2011 12:21 » |
|
А почему у Вас V1 и V2 dw? видимо от предыдущей лабораторной осталось. Щас переделаю =) хотя я тут не вижу нечего страшного что по больше места выделил Антон (LogRus),это тут ещё более менее написано понятно что делать в лабе надо было =)
|
|
|
Записан
|
|
|
|
|